2008-08-23 11 views
0

Мы разрабатывали надстройку Outlook с помощью Visual Studio 2008. Тем не менее, я сталкиваюсь с необычным поведением при добавлении командной кнопки в пользовательскую командную строку. Такое поведение отражается, когда мы добавляем кнопку в ответ, отвечаем всем и пересылаем окна. Проблема в том, что заголовок кнопки команды не отображается, хотя при отладке с помощью VS он правильно отображает подпись. Но кнопка отображается без заголовка при просмотре в Outlook (2003).Надстройка Outlook с использованием .NET

У меня есть фрагмент кода, как показано ниже. Любая помощь будет оценена по достоинству.

private void AddButtonInNewInspector(Microsoft.Office.Interop.Outlook.Inspector inspector) 
     { 
      try 
      { 
       if (inspector.CurrentItem is Microsoft.Office.Interop.Outlook.MailItem) 
       { 


        try 
        {      
         foreach (CommandBar c in inspector.CommandBars) 
         { 
          if (c.Name == "custom") 
          { 
           c.Delete(); 
          } 
         } 
        } 
        catch 
        { 
        } 
        finally 
        { 
         //Add Custom Command bar and command button. 
         CommandBar myCommandBar = inspector.CommandBars.Add("custom", MsoBarPosition.msoBarTop, false, true); 
         myCommandBar.Visible = true; 

         CommandBarControl myCommandbarButton = myCommandBar.Controls.Add(MsoControlType.msoControlButton, 1, "Add", System.Reflection.Missing.Value, true);       
         myCommandbarButton.Caption = "Add Email"; 
         myCommandbarButton.Width = 900; 
         myCommandbarButton.Visible = true; 
         myCommandbarButton.DescriptionText = "This is Add Email Button"; 

         CommandBarButton btnclickhandler = (CommandBarButton)myCommandbarButton; 
         btnclickhandler.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(this.OnAddEmailButtonClick); 
        } 


       } 
      } 
      catch (System.Exception ex) 
      { 
       MessageBox.Show(ex.Message.ToString(), "AddButtInNewInspector"); 
      } 
     } 

ответ

1

Я не знаю ответа на ваш вопрос, но я бы рекомендовал Add-In Express для выполнения добавления. См. http://www.add-in-express.com/add-in-net/. Я использовал это во многих проектах, включая коммерческое программное обеспечение, и это абсолютно потрясающе.

Он выполняет всю интеграцию Outlook (и офиса) для вас, поэтому вы просто работаете с ним, как любая панель инструментов, и просто сосредоточиваетесь на специфике того, что вам нужно для этого. Вам никогда не придется беспокоиться о расширяемости Outlook вообще. Настоятельно рекомендуется.

В любом случае, просто хотел упомянуть об этом как о чем-то. Это определенно спасет некоторые головные боли, если вам будет удобно использовать сторонний компонент в проекте.

0

я не знаю, но ваш код поднимает два вопроса:

  1. Почему вы объявляя "CommandBarControl myCommandbarButton" вместо "CommandBarButton myCommandbarButton"?

  2. Почему вы устанавливаете ширину 900 пикселей? Это огромно. Я никогда не беспокоюсь об этом параметре в Excel, так как он автоматизирует, и я предполагаю, что Outlook будет вести себя одинаково.

0

Вы не устанавливаете свойство стиля кнопки панели управления (из того, что я могу сказать).

Это приводит к тому, что кнопка имеет MsoButtonStyle msoButtonAutomation. Я видел, что заголовок не отображается, если стиль остается на этом.

Попробуйте установить свойство Style на msoButtonCaption.

 Смежные вопросы

  • Нет связанных вопросов^_^