1

![在此处输入图像描述][1]我试图在数据网格上的 ContextMenu 中添加一个组合框,当用户右键单击时,菜单将弹出。它应该显示退出并分配给银行 ID 菜单选项,其中银行 ID 是组合框下拉菜单。我做了一些在线搜索,但找不到任何接近的东西,这让我想知道,甚至有可能做到这一点。我用一些代码创建了一个模型图像。如果有人做过类似的事情并与我分享,我将不胜感激。谢谢。

    private ContextMenu menuOpp = new ContextMenu();
    private ComboBox cmbAssign = new ComboBox();
    private int currentMouseOverRow;

    private void dataGridView2_MouseClick(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right)
        {
            menuOpp.Name = "Exit";
            menuOpp.MenuItems.Add("Exit", new EventHandler(menuItem_Click));
            cmbAssign.Items.Add("assign");

            dataGridView2.ContextMenu = menuOpp;

            currentMouseOverRow = dataGridView2.HitTest(e.X, e.Y).RowIndex;

            menuOpp.Show(dataGridView2, new Point(e.X, e.Y));
        }
    }
4

1 回答 1

0

我能够自己解决这个问题。我创建了一个 ContextMenuStrip,添加了一个带有子 ComboBox 项的 MenuItem,在 ToolStripMenuItem Click 事件上填充了 ComboBox。然后将 ContextMenuStrip 对象分配给它的 ContextMenuStrip 属性。将 ContextMenuStrip 对象分配给控件后,上下文菜单显示为用户右键单击。

private void InitializeComponent()
{
    System.Windows.Forms.ContextMenuStrip Context =
            new System.Windows.Forms.ContextMenuStrip();

    ToolStripMenuItem mnuAssign = new ToolStripMenuItem("Assign");

    Context.Items.Add(mnuAssign);
    ContextMenuStrip = context;
}
于 2014-07-10T14:41:21.460 回答