2016-11-03 37 views
1

我需要通过C#向Outlook 2010添加一些UI功能。将按钮添加到C#中的Outlook 2010中#

Outlook buttons

我已经知道如何添加一个简单的按钮,喜欢用丝带XML未读/读取。 现在,我需要的是添加一个按钮,如“分类”,其中有一个小菜单与几个选项。

当用户点击其中的一个选项,我想开一个相应的表格填写。

两个问题:

  1. 如何添加这个更高级的按钮?有没有解释这些东西的网络资源? (到目前为止,我只能找到一个简单的按钮,这工作正常,但我需要更多)。

  2. 当我在此按钮上点击可以根据一些内部逻辑是不同的显示的选项(即,我可能希望禁用它们中的一个或不显示它的话)。这是如何完成的?

  3. 对于打开的表单,使用WinForms或WPF更容易,因为我对任何一个库都不熟悉,但知道如何编程?

谢谢!

回答

2

您可以按照下列步骤操作:

  1. 创建Outlook外接项目
  2. 添加新项功能区(XML)并将其命名为Ribbon1
  3. 粘贴此内容到XML文件:

    <?xml version="1.0" encoding="UTF-8"?> 
    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
        <ribbon> 
         <tabs> 
          <tab idMso="TabAddIns"> 
           <group id="group1" label="group1"> 
            <splitButton id="splitButton1" size="large"> 
             <button id="splitButton1__btn" label="splitButton1" 
               getImage="Image1" /> 
             <menu id="splitButton1__mnu"> 
              <button id="button1" label="button1" getImage="Image2" /> 
              <button id="button2" label="button2" getImage="Image2" /> 
             </menu> 
            </splitButton> 
           </group> 
          </tab> 
         </tabs> 
        </ribbon> 
    </customUI> 
    
  4. 在解决方案浏览→属性→打开Resources.resx并添加一些图像,例如:

    • IMAGE1
    • 图像2
  5. 打开Ribbon1.cs和这些属性添加到类:

    public System.Drawing.Bitmap Image1(IRibbonControl control) 
    { 
        return Properties.Resources.Image1; 
    } 
    public System.Drawing.Bitmap Image2(IRibbonControl control) 
    { 
        return Properties.Resources.Image2; 
    } 
    
  6. 打开ThisAddin和a DD这种方法的类:

    protected override Microsoft.Office.Core.IRibbonExtensibility 
        CreateRibbonExtensibilityObject() 
    { 
        return new Ribbon1(); 
    } 
    

当你运行应用程序的ADD-INS标签,你可以看到你的丝带:

enter image description here

注意

+0

非常感谢,礼!我仍然没有弄清楚的一件事是,我必须单击箭头,而不是按钮本身来打开菜单。如果我想在两种情况下都打开菜单,我该怎么办? –

+0

不客气。是的,这是拆分按钮,并打开下拉菜单,你应该点击文本/箭头。在工具箱中有不同类型的按钮和菜单,选择你更喜欢的那个:) –

+0

我的意思是这个按钮有两个部分:按钮和箭头,每个按钮都可以单独点击。如果我点击箭头,我会看到菜单;如果我点击按钮,那么除非我指定回调,否则什么都不会发生。这与“分类”按钮不同,其中整个事物(按钮+箭头)充当打开菜单的单个按钮。所以我想知道如何获得这种行为。 –