Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从contextMenuStrip中选择多个项目_C# - Fatal编程技术网

C# 如何从contextMenuStrip中选择多个项目

C# 如何从contextMenuStrip中选择多个项目,c#,C#,我正在从事一个使用contextMenuStrip的C winForm项目。我试图找出如何禁用/覆盖一次只允许一个toolStripMenuItem进行选择的默认行为。在过去的两天里,我一直在做这件事,我的进步为0 是否有人知道任何链接或如何做到这一点 提前感谢,, -DA以下是我在我们的一个项目中找到的一些代码,它们可能正是您想要的。它来自一个鼠标镇的处理器。我认为关键是在每个ToolStripMenuItem上设置CheckOnClick属性,然后允许您在关闭事件中实现并设置e.Cancel

我正在从事一个使用contextMenuStrip的C winForm项目。我试图找出如何禁用/覆盖一次只允许一个toolStripMenuItem进行选择的默认行为。在过去的两天里,我一直在做这件事,我的进步为0

是否有人知道任何链接或如何做到这一点

提前感谢,,
-DA

以下是我在我们的一个项目中找到的一些代码,它们可能正是您想要的。它来自一个鼠标镇的处理器。我认为关键是在每个ToolStripMenuItem上设置CheckOnClick属性,然后允许您在关闭事件中实现并设置e.Cancel=true:


谢谢你!这是一个开始!!!我现在可以保持打开状态,但如何实现多项选择?你有什么建议吗?嘿,唐,我想我现在明白了。我的checked属性允许我选择多个项目。谢谢!!!!我想我能从这里应付!我非常感激,我想这就是我要做的!我很高兴这对你有用。一定要标记答案,以便它可以关闭。
        if (e.Button == MouseButtons.Right)
        {
            ContextMenuStrip mStrip = new ContextMenuStrip();
            mStrip.Closing += new ToolStripDropDownClosingEventHandler(mStrip_Closing);

            foreach (Control cntrl in this.Controls)
            {
                ToolStripMenuItem itm = new ToolStripMenuItem();
                itm.Text = cntrl.Text;
                itm.CheckOnClick = true;
                itm.Checked = cntrl.Visible;

                mStrip.Items.Add(itm);
                mStrip.Show(this.PointToScreen(new Point(_mouseX, _mouseY)));
            }
        }

        private void mStrip_Closing(Object sender, ToolStripDropDownClosingEventArgs e)
        {
            if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                e.Cancel = true;
        }