Пример #1
0
 private void Menu_ItemClicked(object sender, ToolStripItemClickedEventArgs e) //Obtiene la opción del menú secundario al que se accedió
 {
     // TODO: Arreglar bug de click derecho en columnas
     switch (e.ClickedItem.Name) //Dependiendo el elemento al que se hizo click
     {
     case "Del":
         int    mouseOverColumn = XMLDataGridView.HitTest(columnClicked.X, columnClicked.Y).ColumnIndex - 2; //Ïndice de la columna
         string colToDel        = XMLDataGridView.Columns[mouseOverColumn].HeaderText;                       //Nombre de la columna a eliminar
         int    index           = ColumnasCheckedListBox.Items.IndexOf(colToDel);                            //Índice de la columna
         ColumnasCheckedListBox.SetItemChecked(index, false);                                                //Desactivar del checkedList
         //MessageBox.Show(columnClicked.X.ToString() + " " + columnClicked.Y.ToString() + "\n" + Cursor.Position.X + " " + Cursor.Position.Y); //Log-debug
         XMLDataGridView.Columns[mouseOverColumn].Visible = false;                                           //Oculta columna del grid
         break;
     }
 }
Пример #2
0
 //  *** EVENTOS *** \\\
 void XMLDG_ColumnHeaderMouseClick(object sender, MouseEventArgs e) //Muestra un menú secundario
 {
     if (e.Button == MouseButtons.Right)                            //Al hacer click derecho
     {
         ContextMenuStrip menu = new ContextMenuStrip();            //Menú secundario
         menu.Items.Add("Ocultar columna").Name = "Del";            //Opciones del menú secundario
         //Guarda la localización del puntero con respecto al programa 8, 30 es el tamaño del cursor
         columnClicked.X = Cursor.Position.X - this.Location.X - 8;
         columnClicked.Y = Cursor.Position.Y - this.Location.Y - 30;
         int mouseOverColumn = XMLDataGridView.HitTest(columnClicked.X, columnClicked.Y).ColumnIndex - 2; //Índice de la columna que recibió el click
         //MessageBox.Show(XMLDataGridView.HitTest(columnClicked.X, columnClicked.Y).ToString()); //Pequeño Log-debug
         if (mouseOverColumn > 0)                                                                         //Si existe la columna
         {
             menu.Show(this, columnClicked);                                                              //Muestra el menú secundario
             menu.ItemClicked += Menu_ItemClicked;                                                        //Evento que se ejecuta al hacer click en un elemento del menú secundario
         }
     }
 }