Problema con contextmenu

Iniciado por jaxoR, 25 Mayo 2015, 19:15 PM

0 Miembros y 1 Visitante están viendo este tema.

jaxoR

Bueno, mi idea era que cuando un usuario haga click derecho en una celda de un datagridview, se le abra un contextmenu con la opción para eliminar esa fila.

Pero al hacer click derecho, no aparece el menu. Acá el código que uso:

Código (csharp) [Seleccionar]
private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                contextMenuStrip1.Show(MousePosition);
            }
        }

Eleкtro

#1
Buenas

No es necesario que controles ningún evento, simplemente asigna la propiedad ContextMenuStrip de ese DataGridView.

Código (csharp) [Seleccionar]
this.dataGridView1.ContextMenuStrip == this.contextMenuStrip1;

De todas formas, el código que has mostrado debería funcionarte, un motivo por el que no se muestre el menú puede ser debido a que no hayas añadido ningún elemento al menú, y por ende el menú esté vacío (no se puede mostrar un menú sin elementos), otra posibilidad sería que no hayas controlado correctamente el evento MouseDown del dataGridView1, puedes comprobar los event-handlers en el archivo Form1.Designer.cs, deberías tener algo parecido a esto:
Código (csharp) [Seleccionar]
dataGridView1.MouseDown += new EventHandler(dataGridView1_MouseDown);

Saludos








jaxoR

#2
No tenia el elemento y lo agregué al designer, pero me arroja el siguiente error:

CitarNinguna sobrecarga correspondiente a 'dataGridView1_MouseDown' coincide con el 'System.EventHandler' delegado

Eleкtro

#3
Cita de: jaxoR en 26 Mayo 2015, 00:55 AMNinguna sobrecarga correspondiente a 'dataGridView1_MouseDown' coincide con el 'System.EventHandler' delegado

Tienes razón, el delegado correcto es ➢ MouseEventHandler Delegate, corrígelo así:
Código (csharp) [Seleccionar]
this.dataGridView1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.dataGridView1_MouseDown);

PD: Un consejo si me lo permites, programar con la IDE en Castellano no te aportará ningún beneficio, ni de entendimiento, es cómo estar leyendo una mala traducción de Google que te cierra a la programación, ya que esta es en Inglés.

Saludos!








jaxoR

Funciono todo perfecto. Gracias por la ayuda y por la recomendación.