【问题标题】:Display context menu when item is right clicked in DataGridViewComboBoxCell when in edit mode在编辑模式下右键单击 DataGridViewComboBoxCell 中的项目时显示上下文菜单
【发布时间】:2016-09-04 00:41:48
【问题描述】:

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

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

【问题讨论】:

  • 这是一个真实的问题吗?它就像 GUI 重言式 - 你能向我们解释为什么你需要在 ComboBox 上(在网格中)有一个弹出菜单吗?
  • 我在这篇 Microsoft 知识库文章中为您找到了 JonF 的答案,“这是第二种解决方案”:support.microsoft.com/kb/168702 但用户必须单脚跳起来,顺时针揉头顶方向

标签: c# .net winforms datagridviewcomboboxcell


【解决方案1】:
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)  
{  
    if (e.Button == MouseButtons.Right)  
    {  
        contextMenuStrip1.Show();  
    }  
}  

我将分步解释我是如何做到的:

  1. 在表格中添加网格

  2. 使用 RAD 工具将 ComboBox 列添加到网格

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

    Column1.DataSource = new string[] { "位置 A", "位置 B" };

  4. 将 ContextMenu 添加到表单

  5. 向 ContextMenu 添加项目

  6. 将 Grids ContextMenuStip 属性设置为 contextMenuStrip1

  7. 双击CellMouseClick - 在网格属性窗口事件列表中,添加如上所示的代码:

【讨论】:

猜你喜欢
  • 2010-09-21
  • 2019-04-13
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
  • 2016-03-09
  • 2015-06-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多