How to delete the controls in a CommandBarPopup?

Status
Not open for further replies.
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
 
K

Ken Slovak - [MVP - Outlook]

It would be logical that you couldn't delete a button during its Click()

event. Think about it.

If you really want to do what you're doing then set a timer in the Click()

event that will fire after that event is completed, then do your refresh in

the timer event handler. Just make sure the timer thread is the same or

marshalled to the main thread.

"Teodora Gancheva" <TeodoraGancheva> wrote in

message news:8E56D3D7-C998-4A46-AEF2-A1C0822AD3AA@microsoft.com...
> 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
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
J Unable to delete folders in Outlook 2019 / Windows Using Outlook 1
Horsepower Cannot delete gmail in iPhone Outlook outbox Using Outlook 1
J Quick steps delete original email and move reply/sent email to folder Using Outlook 2
N How to add or delete items to Move dropdown Menu Using Outlook 0
G Automatically delete messages in the synchronization folder Outlook VBA and Custom Forms 1
O How to delete a forum post? Using Outlook 4
T Outlook 2010 Errore run-time -2147417851 (80010105) Metodo delete ContactItem non riuscito Outlook VBA and Custom Forms 0
C Outlook 2016 Unable to delete Gmail IMAP calendar Using Outlook 3
S Outlook 2016 dont delete inbox item Using Outlook 0
F Wishlist Outlook suddenly began synchronizing deleted items every time I delete a single email. Using Outlook 2
O Outlook 2010 Add delete button to the side of the message list Using Outlook 1
R Outlook 365 update sets delete from server flag Using Outlook 2
S Outlook 2016 A Shortcut to recall and delete and sent message. Using Outlook 1
T Outlook 2010 How to Delete “Orphaned” TO DO? ( Not on Exchange Server) Using Outlook 6
P How did hacker cause link to delete and archive containing email? Using Outlook 6
Z Outlook 365 delete reminder you can’t make change to contents of this-read only folder Using Outlook 4
J To delete the draft email Using Outlook 2
W Recurrence: delete older occurrences / change earliest start time Outlook VBA and Custom Forms 0
J Moved many emails to Outlook external folder, need to delete on Gmail server Using Outlook 14
A Attachments.Delete Outlook VBA and Custom Forms 3
R Help Revising VBA macro to delete email over different time span Outlook VBA and Custom Forms 0
R Expand VBA Permanent Delete Code Outlook VBA and Custom Forms 6
M Delete headers in Inline reply Outlook VBA and Custom Forms 5
N VBA to delete duplicates by message-id on common pst for 2 or more emails Outlook VBA and Custom Forms 0
S How can I delete all copies of a given companies logo graphic from all my emails at once? Using Outlook 3
9 Outlook 2016 How to save an Outlook attachment to a specific folder then delete the email it came from? Using Outlook 1
D after delete mail, open the next one Outlook VBA and Custom Forms 0
O Delete duplicate emails - subscription notifications Using Outlook 5
F Delete/create/reset Exchange mailbox on Outlook.com Using Outlook.com accounts in Outlook 3
L Email Read and Delete Outlook VBA and Custom Forms 4
H Delete Calendar Entries in Using Outlook 2
D Delete Emails from Senders in Shared Mailbox Outlook VBA and Custom Forms 1
R How to delete Facebook Contacts folder in Outlook 365 Using Outlook 7
R VBA Code to permanently delete selected email Outlook VBA and Custom Forms 10
JoeG Appointment Delete/Change Recurrence Outlook VBA and Custom Forms 0
C Outlook 2016 cannot delete, email showing in root Exchange Server Administration 5
C How to replace or delete first instance of sentence in mail body? Outlook VBA and Custom Forms 1
Z Can't delete IMAP folder Using Outlook 2
J Delete old emails Exchange Server Administration 1
undercover_smother Automatically Forward All Sent Mail and Delete After Send Outlook VBA and Custom Forms 10
T Delete Emails from search results Outlook VBA and Custom Forms 1
I Outlook 2013 How do I delete a Calendar? Using Outlook.com accounts in Outlook 1
N How to delete default folder "Contacts" (olFolderContacts) in a .pst file Using Outlook 8
O How to delete posts Using Outlook 1
B How to 'really' delete IMAP emails? Using Outlook 6
H Search and delete part of a link inside HTML body message Outlook VBA and Custom Forms 2
B Delete/replace old files and save new attachments Using Outlook 1
D Delete selected text from incoming emails Outlook VBA and Custom Forms 25
mikolajek Random message selected after hard delete Using Outlook 4
Jeanne Goodman Delete Calendar Item Bypassing Deleted Items folder Outlook VBA and Custom Forms 2

Similar threads

Top