从C#代码更改VSX工具栏上按钮的图标

时间:2017-03-17 16:40:42

标签: c# visual-studio-extensions

我们曾经有一个插件,但现在我们有一个Visual Studio扩展。

当用户单击工具栏上的按钮时,将与数据库建立连接。在插件中,按钮上的图标随后更改为显示已建立连接。

 tsbMainConnect.Image = Properties.Resources.connected;

当用户再次点击同一按钮时,用户可以断开连接并将按钮的图标更改回原始图标:

tsbMainConnect.Image = Properties.Resources.disconnected;

那么如何在扩展中执行此操作?也就是说,如何更改Button应在C#中引用的图标,而不是在vsct文件中?

   <Button guid="guidConnectCommandPackageCmdSet" id="ConnectCommandId" priority="0x0100" type="Button">
    <Parent guid="guidConnectCommandPackageCmdSet" id="SymToolbarGroup" />
    <Icon guid="ConnectImage" id="bmpConnect1" />
    <Strings>
      <ButtonText>Invoke Connect Command</ButtonText>
    </Strings>
  </Button>  

1 个答案:

答案 0 :(得分:0)

根据我的经验并参考this document,您可以更改命令Enabled或命令的可见性,但似乎无法更改图标Image。

解决方法是创建两个菜单按钮,使其中一个在需要时不可见。按照文档中的步骤操作,了解如何更改命令的可见性。

How to: Change the Appearance of a Command