2017-03-17 62 views
0

我们曾经有一个插件,但现在我们有一个Visual Studio扩展。从C#代码更改VSX工具栏上的按钮图标

当用户单击工具栏上的按钮时,将与数据库建立连接。在插件中,按钮上的图标随即发生变化,表明已建立连接。

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> 

回答

0

,并参考this document,您可以更改启用或命令的知名度的命令,但似乎没有办法更改图标形象。

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

How to: Change the Appearance of a Command