Tengo un datagridview donde muestro información sobre los productos. Quiero vincular un menú contextual cuando el usuario selecciona una celda y luego hace clic con el botón derecho en esa celda. Tengo otro menú contextual y ese está vinculado a las columnas de la vista de cuadrícula de datos. Si un usuario hace clic derecho en una columna, aparece el menú contextual.C# - DatagridView y ContextMenu
Lo he intentado así pero no funciona. El menú contextual muestra cuando el usuario hace clic derecho en una celda, pero el menú contextual que está vinculado al encabezado de la columna no funciona.
private void GridView1_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
productContextMenu.Show(GridView1, e.Location);
}
}
¿Cómo lo hago para que cuando el usuario haga clic con el botón derecho en un datagridview aparezca?
Muchas gracias de antemano.
EDITAR
Thnx por las respuestas. Resolví el problema de esta manera:
private void GridView1_MouseUp(object sender, MouseEventArgs e)
{
DataGridView.HitTestInfo hitTestInfo;
if (e.Button == MouseButtons.Right)
{
hitTestInfo = GridView1.HitTest(e.X, e.Y);
if (hitTestInfo.Type == DataGridViewHitTestType.Cell)
{
productContextMenu.Show(GridView1, e.Location);
}
}
}
Se muestran ambos contextmenus. Cuando hago clic en la columna que muestra el menú contextual, y cuando hago clic en una celda, aparece el menú contextual.
Gracias para saber que tienes una respuesta :) – Dotnet
¿Por qué no marca como respuesta? Si tiene la solución con su idea – Vivekh
Ju Sano. Thnx otra vez! – Erika