我想实现visual studio样式添加或删除Ruttons工具条,如下所示
在我的winforms应用程序中,我该如何实现?
我还没有尝试过这方面的任何事情,因为我不知道如何开始,而且我在winforms上没有太多的工作经验。
请建议。
答案 0 :(得分:1)
乍一看,它看起来并不那么困难。
只需向ToolStripDropDownButton
添加ToolStrip
即可,无需图片或文字。这将使外观看起来或多或少相似。
使用“添加或删除按钮”标题添加一个ToolStripMenuItem
下拉按钮。我们称之为AddRemoveMenuItem
。
现在填充AddRemoveMenuItem
的子菜单项,其中的菜单项代表所有可配置的ToolStripItem
。您可以通过菜单项的Tag
属性链接菜单项和可配置工具条项(您也可以将ToolStripMenuItem
子类添加ToolStripItem LinkedToolStripItem { get; set; }
属性,但我认为它不值得。
所有这些“关联”菜单项都必须处理他们的Click
事件,他们将切换其链接的工具条项Visible
属性并相应地同步其Checked
状态。
我会这样做:
linkedMenuItem.Click += (sender, e) => linkedMenuItem.Checked = !linkedMenuItem.Checked;
linkedMenuItem.CheckedChanged +=
(sender, e) =>
{
var linkedToolStripItem = linkedMenuItem.Tag as ToolStripItem;
if (linkedToolStripItem != null)
{
linkedToolStripItem.Visible = linkedMenuItem.Checked;
}
};
启动应用程序时,设置链接的菜单项Checked
会根据应用程序的默认设置,用户设置等进行相应的状态,然后就完成了。