Changing a buttons icon in with the visual studio

2019-09-17 14:48发布

问题:

I am using the Visual Studio SDK to add in some additional functionality to visual studio.

I have a button that when pressed will perform a potentially long running task (maybe 10-15 seconds) and I would like to change the button Icon to include some indication that the task is being performed, and then again change the icon to show that the task has been completed.

Reading through the MSDN articles has shown me how to customise my icon, but I am having trouble figuring out how to change it at run time. The MSDN article configures its icons in an xml config file.

Essentially my question is how do I control the button icon in code? I have provided the link to the MSDN article that I have been using below

http://msdn.microsoft.com/en-us/library/bb165158.aspx

Thanks in advance

James

回答1:

It is not a good idea (it's non standard, you can use a progress dialog or the status bar of VS instead), but if you really want you can try the following approach:

1) Get the CommandBar that has the button

2) Get the CommandBarControl in the CommandBar.Controls collection

3) Cast the CommandBarControl to CommandBarButton

4) Use the CommandBarButton.Picture and CommandBarButton.Mask properties. See section #2 of my article:

HOWTO: Creating custom pictures for Visual Studio .NET add-ins commands, buttons and toolwindows.