我目前正在开发DataGridView
以通过拖放存储PDF文件。
用户可以将文件放入DataGridView
,PDF将存储到容器中。
然后我想实现一个ContextMenu
,允许用户通过右键单击并选择目标选项来打开或删除PDF。
HitTest(x, y)
使用CursorPosition
,“打开”选项正常工作。
我的问题是,当你看到“删除”按钮被放置在下面的单元格中时,HitTest(x, y)
将向我传递下面的单元格,这不是我的目标。
我尝试了什么
我通过捕获CellContentClick
和Click
事件尝试过,但右键单击该单元格并未触发这些事件。此外,通过捕获CellMouseEnter
事件来保存最后输入的单元格的选项无法正常工作
有没有可能知道右键单击了哪个单元格?
答案 0 :(得分:1)
在您的dataGridView中启用单个单元格选择属性,然后单击上下文菜单,您可以获取所选单元格
您可以通过
获取所选单元格private void dataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
dataGridView.CurrentCell = dataGridView[e.ColumnIndex, e.RowIndex];
}
}