C#编写点击单元格弹选项框
时间: 2023-07-17 22:10:23 浏览: 66
您可以使用DataGridView控件的CellMouseClick事件来实现点击单元格弹出选项框的功能。以下是一个示例代码:
```csharp
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right && e.RowIndex >= 0 && e.ColumnIndex >= 0)
{
DataGridViewCell clickedCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
// 创建和显示选项框
ContextMenuStrip optionsMenu = new ContextMenuStrip();
optionsMenu.Items.Add("选项1");
optionsMenu.Items.Add("选项2");
optionsMenu.Items.Add("选项3");
optionsMenu.ItemClicked += OptionsMenu_ItemClicked;
optionsMenu.Show(dataGridView1, dataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Location);
}
}
private void OptionsMenu_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
// 处理选项框的选项点击事件
MessageBox.Show("您点击了选项: " + e.ClickedItem.Text);
}
```
在上述代码中,我们订阅了DataGridView的CellMouseClick事件,并检查了是否是右键点击以及单元格的有效性。然后,我们获取了被点击的单元格,并创建了一个ContextMenuStrip来显示选项框。在选项框的ItemClicked事件处理程序中,您可以根据用户选择执行相应的操作。