2012-03-21 29 views
0

当用户打开DataGridViewComboBoxCell更改其选择并右键单击列出的项目之一时,如何触发事件?我想在用户右键单击下拉菜单中的某些项目时显示上下文菜单。当在编辑模式下在DataGridViewComboBoxCell中右键单击项目时显示上下文菜单

我一般都知道如何显示上下文菜单,当用户在编辑模式下右键单击组合框时(当用户从​​下拉列表中选择项目时,我无法弄清楚如何触发事件下)

+0

这是一个真正的问题吗?它像GUI同义反复 - 你能向我们解释为什么你需要在ComboBox上(一个网格中)有一个Popup菜单吗? – 2012-03-22 01:15:39

+0

我已经找到了答案JonF,'这是第二个解决方案'在这篇Microsoft知识库文章中:http://support.microsoft.com/kb/168702但用户不得不跳上一条腿摩擦他们的头顶在顺时针方向 – 2012-03-22 21:18:53

回答

1
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     contextMenuStrip1.Show(); 
    } 
} 

我会解释我是如何逐步做到了:

  1. 加入电网,形成

  2. 添加一个组合框列网格使用RAD工具

  3. 设置为comboxColumn一个数据源,例如

    Column1.DataSource =新的字符串[] { “位置A”, “位置B”};

  4. 添加文本菜单,形成

  5. 添加项目到文本菜单

  6. 设置网格ContextMenuStip属性contextMenuStrip1

  7. 双击CellMouseClick - 在网格属性窗口事件列表和添加上面显示的代码:

+0

这适用于组合框“关闭”时,但是当它打开以更改选择时它不会触发事件 – JonF 2012-03-22 12:38:33

+0

http://stackoverflow.com/questions/1581627/unable-to-detect - 右 - 点击鼠标功能于组合框 – 2012-03-22 21:47:11

相关问题