private void AddContextMenuList(String filename, DadosXML.TYPE_LIST typList, String menuName, MenuItemDados menuDados) { if (ListExists(filename, typList) && !menuName.Equals(String.Empty)) { MenuItemDados dados = new MenuItemDados(); dados.Item = menuDados.Item; dados.Location = menuDados.Location; dados.menuName = menuName; dados.TypList = typList; AddContextMenu(dados); } }
private void _lstXML_MouseClick(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Right) { ListViewHitTestInfo htInfo = _lstXML.HitTest(e.Location); if (htInfo != null) { ListViewItem item = htInfo.Item; ListViewItem.ListViewSubItem subItem = htInfo.SubItem; ItemLV ilv = item.Tag as ItemLV; String tag = subItem.Tag.ToString(); bool process = true; String filename = ilv.NomeArquivo; MenuItemDados menuDados = new MenuItemDados { Item = item, Location = e.Location }; //limpa os itens do menu contextMenuStrip1.Items.Clear(); //ação depende do subitem if (tag.Equals(Utils.HDR_NOMARQ)) { menuDados.menuName = Utils.CTX_MENU.ABRIR_ARQ; AddContextMenu(menuDados); } else { //constroi a lista dos itens de menu, de acordo com o tipo de arquivo AddContextMenuList(filename, DadosXML.TYPE_LIST.CONTRATOS_NUMCTRLIF, Utils.CTX_MENU.VER_CON_NCTRLIF, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.CONTRATOS_NU, Utils.CTX_MENU.VER_CON_NU, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.CONTRATOS_NUMCTRLIF_RECS, Utils.CTX_MENU.VER_CON_NCTRLIF_REC, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.CONTRATOS_NU_RECS, Utils.CTX_MENU.VER_CON_NU_REC, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.PARCELAS_NUMCTRLIF, Utils.CTX_MENU.VER_PAR_NCTRLIF, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.PARCELAS_NU, Utils.CTX_MENU.VER_PAR_NU, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.PARCELAS_NUMCTRLIF_RECS, Utils.CTX_MENU.VER_PAR_NCTRLIF_REC, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.PARCELAS_NU_RECS, Utils.CTX_MENU.VER_PAR_NU_REC, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.RESERVAS_NUMID, Utils.CTX_MENU.VER_RES_NUMID, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.RESERVAS_NU, Utils.CTX_MENU.VER_RES_NU, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.RESERVAS_NUMID_RECS, Utils.CTX_MENU.VER_RES_NUMID_REC, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.RESERVAS_NU_RECS, Utils.CTX_MENU.VER_RES_NU_REC, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.EVENTOS_NUMCTRLIF, Utils.CTX_MENU.VER_EVT_NCTRLIF, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.EVENTOS_NU, Utils.CTX_MENU.VER_EVT_NU, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.EVENTOS_NUMCTRLIF_REC, Utils.CTX_MENU.VER_EVT_NCTRLIF_REC, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.EVENTOS_NU_REC, Utils.CTX_MENU.VER_EVT_NU_REC, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.CESSAO_NU, Utils.CTX_MENU.VER_CESSAO_NU, menuDados); AddContextMenuList(filename, DadosXML.TYPE_LIST.CODERROS, Utils.CTX_MENU.VER_CODERRO, menuDados); } if (process) { contextMenuStrip1.Show(_lstXML.PointToScreen(e.Location)); } } } }
private void AddContextMenu(MenuItemDados menuDados) { String name = menuDados.menuName; if (!name.Equals(String.Empty)) { ToolStripMenuItem menuItem = new System.Windows.Forms.ToolStripMenuItem(); menuItem.Name = name; menuItem.AutoSize = true; menuItem.Text = name; menuItem.Tag = menuDados; menuItem.Click += new System.EventHandler(this.clickToolStripMenuItem_Click); contextMenuStrip1.Items.Add(menuItem); } }