0

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

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

选项“打开”通过HitTest(x, y)使用CursorPosition.

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

我试过的

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

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

4

1 回答 1

1

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

您可以通过

private void dataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        dataGridView.CurrentCell = dataGridView[e.ColumnIndex, e.RowIndex];
    }
}
于 2012-11-30T09:50:56.310 回答