如何实现Visual Studio样式添加或删除按钮工具条

时间:2014-11-07 12:18:07

标签: c# winforms toolstrip

我想实现visual studio样式添加或删除Ruttons工具条,如下所示

enter image description here

在我的winforms应用程序中,我该如何实现?

我还没有尝试过这方面的任何事情,因为我不知道如何开始,而且我在winforms上没有太多的工作经验。

请建议。

1 个答案:

答案 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会根据应用程序的默认设置,用户设置等进行相应的状态,然后就完成了。