2016-11-03 4 views
1

Ich muss Outlook 2010 über C# einige UI-Funktionalität hinzufügen.Hinzufügen von Schaltfläche zu Outlook 2010 in C#

Outlook buttons

Ich weiß schon, wie eine einfache Schaltfläche hinzufügen, wie ungelesen/Read Ribbon XML. Nun, was ich brauche, ist eine Schaltfläche wie "Kategorisieren" hinzufügen, die ein kleines Menü mit mehreren Optionen hat.

Wenn der Benutzer auf eine der Optionen klickt, möchte ich ein entsprechendes Formular zum Ausfüllen öffnen.

Zwei Fragen:

  1. Wie füge ich diese erweiterte Taste? Gibt es eine Internetquelle, die dieses Zeug erklärt? (Bisher konnte ich nur einen Durchlauf für einen einfachen Knopf finden, der gut funktioniert, aber ich brauche mehr).

  2. Die Optionen, die angezeigt werden, wenn ich auf diese Schaltfläche klicke, können je nach interner Logik unterschiedlich sein (d. H. Ich möchte eine davon deaktivieren oder gar nicht anzeigen). Wie wird das gemacht?

  3. Für die Formulare, die geöffnet werden, ist es einfacher, WinForms oder WPF zu verwenden, da ich mit keiner der beiden Bibliotheken vertraut bin, aber generell programmieren kann?

Vielen Dank!

Antwort

2

können Sie die folgenden Schritte aus:

  1. Eine Outlook-Add-in Projekt
  2. Neues Element hinzufügenBand (XML) und nennen Sie es Ribbon1
  3. Diese Paste Inhalt in XML-Datei:

    <?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. im Projektmappen-Explorer → Eigenschaften → Öffnen Resources.resx und einige Bilder hinzufügen, zum Beispiel:

    • Image1
    • Image2
  5. öffnen Ribbon1.cs und diese Eigenschaften zur Klasse hinzufügen:

    public System.Drawing.Bitmap Image1(IRibbonControl control) 
    { 
        return Properties.Resources.Image1; 
    } 
    public System.Drawing.Bitmap Image2(IRibbonControl control) 
    { 
        return Properties.Resources.Image2; 
    } 
    
  6. Geöffnet ThisAddin und a dd diese Methode zur Klasse:

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

Wenn Sie die Anwendung eine ADD-INS Registerkarte ausführen können Sie sehen, Ihr Band:

enter image description here

Hinweis

+0

Vielen Dank, Reza! Eine Sache, die ich immer noch nicht herausgefunden habe, ist, dass ich auf den Pfeil und nicht auf den Button klicken muss, um das Menü zu öffnen. Wenn ich das Menü in beiden Fällen öffnen möchte, was soll ich tun? –

+0

Gern geschehen. Ja, das ist Split-Button und zum Öffnen des Dropdown-Menüs klicken Sie auf Text/Pfeil. Es gibt verschiedene Arten von Schaltflächen und Menüs in der Toolbox, wählen Sie die, die Ihnen mehr gefällt :) –

+0

Was ich meinte war, dass diese Taste aus zwei Teilen besteht: der Knopf und der Pfeil, von denen jeder einzeln angeklickt werden kann. Wenn ich auf den Pfeil klicke, bekomme ich das Menü; Wenn ich auf die Schaltfläche klicke, passiert nichts, wenn ich keinen Rückruf festlege. Dies unterscheidet sich von der Schaltfläche "Kategorisieren", bei der das Ganze (Schaltfläche + Pfeil) als einzelne Schaltfläche fungiert und das Menü öffnet.Also habe ich mich gefragt, wie ich dieses Verhalten bekommen soll. –

Verwandte Themen