DataGridView - 使用ContextMenu删除项目

时间:2012-11-30 09:41:30

标签: c# winforms datagridview contextmenu datasource

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

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

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

我的问题是,当你看到“删除”按钮被放置在下面的单元格中时,HitTest(x, y)将向我传递下面的单元格,这不是我的目标。

我尝试了什么

我通过捕获CellContentClickClick事件尝试过,但右键单击该单元格并未触发这些事件。此外,通过捕获CellMouseEnter事件来保存最后输入的单元格的选项无法正常工作

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

1 个答案:

答案 0 :(得分:1)

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

您可以通过

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