【问题标题】:DataGridView - Delete items with ContextMenuDataGridView - 使用 ContextMenu 删除项目
【发布时间】:2012-11-30 09:41:30
【问题描述】:

我目前正在开发一个DataGridView 来通过拖放存储 PDF 文件。 用户可以将文件添加到DataGridView 中,并将 PDF 存储到容器中。

然后我想实现一个ContextMenu,它允许用户通过右键单击它并选择目标选项来打开或删除PDF。

通过使用HitTest(x, y)CursorPosition,“打开”选项可以正常工作。

我的问题是,正如您所见,“删除”按钮位于下面的单元格中,HitTest(x, y) 会将下面的单元格传递给我,这不是我的目标。

我的尝试

我已经通过捕获CellContentClickClick 事件进行了尝试,但是右键单击单元格不会触发这些事件。此外,通过捕获CellMouseEnter 事件保存最后输入的单元格的选项也无法正常工作

是否有可能知道右键单击了哪个单元格?

【问题讨论】:

  • 你能得到ContextMenu最左上角的位置吗?

标签: c# winforms datagridview contextmenu datasource


【解决方案1】:

在您的 dataGridView 中启用单个单元格选择属性,然后单击上下文菜单,您可以获得选定的单元格

你可以通过

获取选中的单元格
private void dataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        dataGridView.CurrentCell = dataGridView[e.ColumnIndex, e.RowIndex];
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多