Удаление кнопки на стандартной панели инструментов, если она уже найдена в Outlook - PullRequest
0 голосов
/ 18 июля 2011

Я добавил кнопку на стандартную панель инструментов главного окна Outlook. Это работает, когда я строю проект Outlook. Но всякий раз, когда я снова строю проект, кнопка снова реплицируется в главном окне Outlook.

Мой код здесь:

private void AddToolbar()
    {
        if (cbar == null)
        {
            cbar = this.Application.ActiveExplorer().CommandBars["Standard"];
        }
        try
        {
            Office.CommandBarButton btn = (Office.CommandBarButton)cbar.Controls.Add(1, missing, missing, missing, missing);
            btn.Caption = "button1";
            btn.Tag = "button1";
            if (this.firstButton == null)
            {
                this.firstButton = btn;
                firstButton.Click += new Office._CommandBarButtonEvents_ClickEventHandler(ButtonClick);
            }
        }
        catch (System.Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

Как добавить функцию удаления для этой кнопки, если она уже найдена?

1 Ответ

0 голосов
/ 18 июля 2011

Возможно, вы захотите проверить, является ли firstButton нулевым, перед созданием другой кнопки.Что-то вроде:

        if (this.firstButton == null)
        {            
            Office.CommandBarButton btn = (Office.CommandBarButton)cbar.Controls.Add(1, missing, missing, missing, missing);
            btn.Caption = "button1";
            btn.Tag = "button1";

            this.firstButton = btn;
            firstButton.Click += new Office._CommandBarButtonEvents_ClickEventHandler(ButtonClick);
        }
...