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