T
Teodora Gancheva
Hi,
I am developing a C# COM add-in for MS Office 2003 and 2007. My add-in
creates a custom command bar with a CommandBarPopup menu containing several
CommandBarPopup submenus populated with CommandBarButton objects. Upon user
click on some buttons, I'd like to perform 'refresh' on the submenus i.e.
delete the buttons and re-create them.
I am doing so using the following code:
for (int index = 1; index <= popup.Controls.Count; index++)
{
popup.Controls[index].Delete(1);
index--;
}
This works for all buttons except the one that was actually clicked, for it
a COMException with message "Error HRESULT E_FAIL has been returned from a
call to a COM component" is thrown. Am I not allowed to delete this button
because it has just been clicked, and what other options do I have - delete
the whole popup?
Thanks for all advice,
Teodora Gancheva
I am developing a C# COM add-in for MS Office 2003 and 2007. My add-in
creates a custom command bar with a CommandBarPopup menu containing several
CommandBarPopup submenus populated with CommandBarButton objects. Upon user
click on some buttons, I'd like to perform 'refresh' on the submenus i.e.
delete the buttons and re-create them.
I am doing so using the following code:
for (int index = 1; index <= popup.Controls.Count; index++)
{
popup.Controls[index].Delete(1);
index--;
}
This works for all buttons except the one that was actually clicked, for it
a COMException with message "Error HRESULT E_FAIL has been returned from a
call to a COM component" is thrown. Am I not allowed to delete this button
because it has just been clicked, and what other options do I have - delete
the whole popup?
Thanks for all advice,
Teodora Gancheva