我有DataGridView
一个表格。当我右键单击一行时,我需要程序打开一个上下文菜单。有了这个上下文菜单,我希望能够修改DataGridView
.
我已经获得了上下文菜单来显示我右键单击的位置,但我不知道从这里去哪里。因为我将删除(例如)整行,所以我需要获取所述行的索引并将其设置为选中。我尝试了这个cell_clicked
事件,但我无法确定是按下鼠标左键还是鼠标右键。但是对于mouse_click
事件,我无法获得行索引。
这是我的代码:
public Form()
{
ContextMenu contextMenu = new ContextMenu();
//Fill Context Menu
MenuItem delete = new MenuItem("Delete");
contextMenu.MenuItems.Add(delete);
}
private void grdSchedules_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
contextMenu.Show(grdSchedules, new Point(e.Y, e.Y));
//Get rowindex here and select row
}
}
我试过这样:
private void grdSchedules_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right) //e.Button does not work here
{
contextMenu.Show(grdSchedules, new Point(e.Y, e.Y));
}
}