返回首页


{S0}简介
曾经在分组多个ToolStripMenuItems共同的需要模仿的行为的RadioButtons呢?这个简单的控制继承ToolStripMenuItem,并增加了一个新的属性在设计模式进行分组。支持在同一个下拉菜单中的多组。背景
当我在第一ToolStripMenuItems喜欢的RadioButtons行为的需要,我也通过事件。第二次,我开始怀疑为什么微软没有提供一个额外的属性,很容易一起分组ToolStripMenuItems。有点quot; Googlingquot;后,我发现在MSDN的例子:{A}。
阅读文章后,我意识到,这不是我是寻找!他们解释如何实现预期的效果; CheckOnClickquot与quot;,甚至提供了自定义绘制的单选按钮布局。这不是标准(但丑陋的),而不是我想要的东西!此外,他们为榜样,不支持多个quot; groupsquot;在同一个下拉菜单。
因此,我开始实施我自己的解决方案。它是基于在MSDN的例子,但它简化了尽可能。使用代码
这部分应被命名为quot;使用componentquot;
源文件添加到项目中。重建后,你应该能够选择设计ToolStripMenu ToolStripMenuItemGrouped时。
基本上,我只是增加了一个简单的属性,所谓的GroupIndex。它的默认值是0,这意味着:没有组。 ToolStripMenuItemGrouped所有属于一个整体,输入一个值大于。通过使用不同的价值观,它是可以在同一个下拉菜单支持多个组。兴趣点
我离开原示例代码由MS重写Enabled属性。增加的可能性,自动启用/禁用所有ToolStripMenuItemGrouped的子项目时,业主控制(ToolStripMenuItem)改变其选中状态。您可以尝试通过添加一个ToolStripMenuItem的下拉ToolStripMenuItemGrouped项目。然后CheckOnClick属性的所有者,以quot; truequot;设置。在运行时,会自动改变子项目的启用状态,雇主是否被选中或不。
要添加新的类的设计师,我只是提供以下属性:

[ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ContextMenuStrip)]
进一步阅读如何:在一个MenuStrip(Windows窗体)显示选项按钮。

回答

评论会员:D 时间:2