1

我有 ContextMenuStrip,右键单击会显示可供选择的内容。当单元格不处于编辑模式时它工作完美,但是当我单击鼠标右键时它处于编辑模式时它显示窗口菜单(复制,粘贴,删除,全选......)。因此,在 datagridview 中,我使用了 CellEndEdit 并编写了以下代码:

if (MouseButton == System.Windows.Forms.MouseButtons.Right)
        {

            MouseEventArgs e3 = new MouseEventArgs(System.Windows.Forms.MouseButtons.Right, 1, Location.X,
                Location.Y, 1);
            DataGridViewCellMouseEventArgs e2 = new DataGridViewCellMouseEventArgs(e.ColumnIndex,
                e.RowIndex, Location.X, Location.Y, e3);
            DataGridValues_CellMouseClick(sender, e2);
        }

MouseButton在哪里MouseButtons。它进入并做所有事情,但我得到了 2 个菜单(我的和窗口)。所以我需要禁用windows右键菜单。有没有办法做到这一点?我认为代码DataGridValues_CellMouseClick(sender, e2);无关紧要,因为它正在工作。

4

1 回答 1

1

像这样试试

  private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        e.Control.ContextMenuStrip = myContextMenuStrip;
    }
于 2014-02-24T10:26:40.643 回答