private void MenuButtonCtrl_Load(object sender, EventArgs e) { DisposeButton(); if (ItemMenus != null) { foreach (var item in ItemMenus.OrderByDescending(o => o.SortMenu)) { XButtonCtrl but = new XButtonCtrl(); but.ItemButton = item; but.XButton_Click += new XButtonEventHandler(MenuItem_Click); AddButton(but); } } }
private void InicializaMenu() { //llena menu principal if (Usuario.id_us == "SYSAD") { vSQL = "SELECT *, 'SYSAD' AS Mnu_Us " + " FROM PadMenu " + " WHERE Pad_Name In ('PAD001','PAD005') " + " ORDER BY Pad_Order "; } else { vSQL = "SELECT PM.*,A.Mnu_Us " + " FROM PadMenu PM INNER JOIN BarMenu BM " + " ON PM.Pad_Popup = BM.Bar_Popup INNER JOIN Accesos A " + " ON BM.Bar_Number = A.Mnu_Bar " + " AND BM.Bar_Popup = A.Mnu_Pop " + " WHERE LTrim(RTrim(A.Mnu_Us)) = '" + Usuario.id_us + "' " + " GROUP BY PM.Pad_Name,PM.Pad_Prompt,PM.Pad_Popup,PM.Pad_Order,A.Mnu_Us " + " ORDER BY PM.Pad_Order "; } Conexion.CMD.CommandText = vSQL; using (SqlDataReader drLectura = Conexion.CMD.ExecuteReader()) { if (drLectura.HasRows) { while (drLectura.Read()) { ToolStripMenuItem mnuItem = new ToolStripMenuItem(); mnuItem.ShowShortcutKeys = true; mnuItem.Text = drLectura.GetValue(1).ToString().ToUpper(); //mnuItem.ShortcutKeys = Keys.Alt | Keys.O; mnuItem.ShortcutKeyDisplayString = drLectura.GetValue(1).ToString(); mnuItem.Tag = drLectura.GetValue(2).ToString(); menuMDI.Items.Add(mnuItem); mnuItem = null; } drLectura.Close(); ToolStripMenuItem mnuItemSalir = new ToolStripMenuItem(); mnuItemSalir.ShowShortcutKeys = true; mnuItemSalir.Text = "&SALIR"; mnuItemSalir.ShortcutKeys = Keys.Alt | Keys.S; mnuItemSalir.Tag = "SALIR"; mnuItemSalir.ShortcutKeyDisplayString = "&Salir"; menuMDI.Items.Add(mnuItemSalir); } } //limpia el arreglo para asignar los datos list.Clear(); //try //{ //llena submenues por cada item del menu principal if (Usuario.id_us == "SYSAD") { vSQL = "SELECT bar_number,bar_popup,bar_prompt,bar_order," + " REPLACE(LTRIM(RTRIM(SUBSTRING(bar_command, 8, 42))),'.scx','') AS form " + " FROM BarMenu " + " WHERE Bar_Popup + CAST(Bar_Number AS Varchar(3)) = 'POP00113' " + " Or Bar_Popup= 'POP005' " + " ORDER BY Bar_Popup,Bar_Order "; } else { vSQL = "SELECT bar_number,bar_popup,bar_prompt,bar_order," + " REPLACE(LTRIM(RTRIM(SUBSTRING(bar_command, 8, 42))),'.scx','') AS form " + " FROM Barmenu BM INNER JOIN Accesos A" + " ON BM.Bar_Popup = A.Mnu_Pop" + " AND BM.Bar_Number = A.Mnu_Bar" + " WHERE LTrim(RTrim(A.Mnu_Us)) = '" + Usuario.id_us + "' " + " ORDER BY BM.Bar_Popup,BM.Bar_Order"; } Conexion.CMD.CommandText = vSQL; using (SqlDataReader dr = Conexion.CMD.ExecuteReader()) { if (dr.HasRows) { while (dr.Read()) { if (dr.GetValue(4).ToString() != "") { if (dr.GetValue(4).ToString().Substring(0, 3).ToUpper() == "FRM") { ItemMenus mnu = new ItemMenus(dr.GetValue(0).ToString(), dr.GetValue(1).ToString(), dr.GetValue(2).ToString(), dr.GetValue(3).ToString(), dr.GetValue(4).ToString()); list.Add(mnu); } } else { ItemMenus mnu = new ItemMenus(dr.GetValue(0).ToString(), dr.GetValue(1).ToString(), dr.GetValue(2).ToString(), dr.GetValue(3).ToString(), dr.GetValue(4).ToString()); list.Add(mnu); } } dr.Close(); } } //crea los submenus para cada item del menu principal CreaSubMenus(); //} //catch( Exception ex ) //{ // var st = new StackTrace(ex, true); // var frame = st.GetFrame(0); // var line = frame.GetFileLineNumber(); // var col = frame.GetFileColumnNumber(); // MessageBox.Show(ex.Message + (char)13 + "Linea: " + line + " Columna: " + col); //} }