Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Visual Studio Tools für die Office-Laufzeitumgebung bieten ein stark typisiertes Objektmodell, mit dem Sie zur Laufzeit die Eigenschaften von Menüband-Steuerelementen abrufen und festlegen können. Sie können beispielsweise Menüsteuerelemente dynamisch auffüllen oder Steuerelemente kontextbezogen ein- und ausblenden. Sie können einem Menüband auch Registerkarten, Gruppen und Steuerelemente hinzufügen, aber nur bevor das Menüband von der Office-Anwendung geladen wird. Weitere Informationen finden Sie unter Festlegen von Eigenschaften, die zu schreibgeschütztem Zugriff führen.
Gilt für: Die Informationen in diesem Thema gelten für Dokumentprojekte und VSTO-Add-In-Projekte für die folgenden Anwendungen: Excel; InfoPath 2013 und InfoPath 2010; Outlook; PowerPoint; Project; Visio; Word. Weitere Informationen finden Sie unter Funktionen verfügbar nach Office-Anwendung und Projekttyp.
Dieses Menübandobjektmodell besteht hauptsächlich aus den Menübandklassen, Menübandereignissen und Menüband-Steuerelementklassen.
Menübandklasse
Wenn Sie einem Projekt ein neues Ribbon (Visual Designer) hinzufügen, fügt Visual Studio Ihrem Projekt eine Ribbon-Klasse hinzu. Die Ribbon-Klasse erbt von der RibbonBase Klasse.
Diese Klasse wird als partielle Klasse angezeigt, die zwischen der Codedatei des Menübands und der Codedatei des Menüband-Designers geteilt wird.
Menübandereignisse
Die Ribbon-Klasse enthält die folgenden drei Ereignisse:
| Event | Description |
|---|---|
| Load | Wird ausgelöst, wenn die Office-Anwendung die Menübandanpassung lädt. Der Load Ereignishandler wird automatisch der Code-Datei des Ribbons hinzugefügt. Verwenden Sie diesen Ereignishandler, um benutzerdefinierten Code auszuführen, wenn das Menüband geladen wird. |
| LoadImage | Ermöglicht das Zwischenspeichern von Bildern in der Menübandanpassung, wenn das Menüband geladen wird. Sie können einen leichten Leistungsgewinn erzielen, wenn Sie Code schreiben, um die Menübandbilder in diesem Ereignishandler zwischenzuspeichern. Weitere Informationen finden Sie unter LoadImage. |
| Close | Wird ausgelöst, wenn die Menübandinstanz geschlossen wird. |
Menübandsteuerelemente
Der Microsoft.Office.Tools.Ribbon Namespace enthält einen Typ für jedes Steuerelement, das in der Gruppe " Office Ribbon Controls " der Toolbox angezeigt wird.
Die folgende Tabelle zeigt den Typ für jedes Ribbon Steuerelement. Eine Beschreibung der einzelnen Steuerelemente finden Sie in der Ribbon-Übersicht.
| Steuerelementname | Klassenname |
|---|---|
| Schachtel | RibbonBox |
| Schaltfläche | RibbonButton |
| ButtonGroup | RibbonButtonGroup |
| CheckBox | RibbonCheckBox |
| ComboBox | RibbonComboBox |
| DropDown | RibbonDropDown |
| EditBox | RibbonEditBox |
| Katalog | RibbonGallery |
| Gruppieren | RibbonGroup |
| Bezeichnung | RibbonLabel |
| Menü | RibbonMenu |
| Separator | RibbonSeparator |
| SplitButton | RibbonSplitButton |
| Tab | RibbonTab |
| Umschalttaste | RibbonToggleButton |
Der Microsoft.Office.Tools.Ribbon Namespace verwendet das Präfix "Ribbon" für diese Typen, um einen Namenskonflikt mit den Namen von Steuerelementklassen im System.Windows.Forms Namespace zu vermeiden.
Wenn Sie dem Menüband-Designer ein Steuerelement hinzufügen, deklariert der Menüband-Designer die Klasse für dieses Steuerelement als Feld in der Codedatei des Menüband-Designers.
Typische Aufgaben unter Verwendung der Eigenschaften von Menübandsteuerelementen
Jedes Ribbon Steuerelement enthält Eigenschaften, mit denen Sie verschiedene Aufgaben ausführen können, z. B. das Zuweisen einer Bezeichnung zu einem Steuerelement oder das Ausblenden und Anzeigen von Steuerelementen.
In einigen Fällen werden Eigenschaften nur-lesend, nachdem das Menüband geladen oder ein Steuerelement zu einem dynamischen Menü hinzugefügt wird. Weitere Informationen finden Sie unter Festlegen von Eigenschaften, die schreibgeschützt werden.
In der folgenden Tabelle werden einige der Aufgaben beschrieben, die Sie mithilfe von Ribbon Steuerelementeigenschaften ausführen können.
| Für diesen Vorgang: | Gehen Sie wie folgt vor: |
|---|---|
| Ein Steuerelement ausblenden oder anzeigen. | Verwenden Sie die Visible-Eigenschaft. |
| Aktivieren oder Deaktivieren eines Steuerelements | Verwenden Sie die Enabled-Eigenschaft. |
| Legen Sie die Größe eines Steuerelements fest. | Verwenden Sie die ControlSize-Eigenschaft. |
| Ruft das Bild ab, das in einem Steuerelement angezeigt wird. | Verwenden Sie die Image-Eigenschaft. |
| Ändern sie die Bezeichnung eines Steuerelements. | Verwenden Sie die Label-Eigenschaft. |
| Fügen Sie einem Steuerelement benutzerdefinierte Daten hinzu. | Verwenden Sie die Tag-Eigenschaft. |
| Abrufen der Elemente in einem RibbonBox, RibbonDropDown, RibbonGallery oder RibbonSplitButton Steuerung. |
Verwenden Sie die Items-Eigenschaft. |
| Fügen Sie Elemente zu einem RibbonComboBox, RibbonDropDown oder RibbonGallery Steuerungselement hinzu. | Verwenden Sie die Items-Eigenschaft. |
| Fügen Sie Steuerelemente zu einem RibbonMenu hinzu. | Verwenden Sie die Items-Eigenschaft. Um dem RibbonMenu Menüband Steuerelemente hinzuzufügen, nachdem das Menüband in die Office-Anwendung geladen wurde, müssen Sie die Dynamic Eigenschaft auf "true " festlegen, bevor das Menüband in die Office-Anwendung geladen wird. Weitere Informationen finden Sie unter Festlegen von Eigenschaften, die zu schreibgeschütztem Zugriff führen. |
| Abrufen des ausgewählten Elements eines RibbonComboBox. RibbonDropDown oder RibbonGallery. |
Verwenden Sie die SelectedItem-Eigenschaft. Verwenden Sie für ein RibbonComboBoxObjekt die Text Eigenschaft. |
| Abrufen der Gruppen auf einem RibbonTab. | Verwenden Sie die Groups-Eigenschaft. |
| Geben Sie die Anzahl der Zeilen und Spalten an, die in einem RibbonGallery erscheinen. | Verwenden Sie die RowCount- und ColumnCount-Eigenschaften. |
Eigenschaften festlegen, die nur-lesbar werden
Einige Eigenschaften können nur festgelegt werden, bevor das Menüband geladen wird. Es gibt drei Orte zum Festlegen dieser Eigenschaften:
Im Fenster "Eigenschaften " von Visual Studio.
Im Konstruktor der Klasse Ribbon.
In der
CreateRibbonExtensibilityObject-Methode derThisAddin-,ThisWorkbook- oderThisDocument-Klasse Ihres Projekts.Dynamische Menüs bieten einige Ausnahmen. Sie können neue Steuerelemente erstellen, deren Eigenschaften festlegen und sie dann zur Laufzeit einem dynamischen Menü hinzufügen, auch nachdem das Menüband geladen wurde, das das Menü enthält.
Eigenschaften von Steuerelementen, die Sie einem dynamischen Menü hinzufügen, können jederzeit festgelegt werden.
Weitere Informationen finden Sie unter Eigenschaften, die schreibgeschützt sind.
Festlegen von Eigenschaften im Konstruktor des Menübands
Sie können die Eigenschaften eines Ribbon Steuerelements im Konstruktor der Ribbon-Klasse festlegen. Dieser Code muss nach dem Aufruf der InitializeComponent Methode angezeigt werden. Im folgenden Beispiel wird einer Gruppe eine neue Schaltfläche hinzugefügt, wenn die aktuelle Uhrzeit 17:00 Uhr Pazifische Zeit (UTC-8) oder später ist.
Fügen Sie den folgenden Code hinzu.
public Ribbon1()
: base(Globals.Factory.GetRibbonFactory())
{
InitializeComponent();
if (System.DateTime.Now.Hour > 16)
{
Microsoft.Office.Tools.Ribbon.RibbonButton button =
this.Factory.CreateRibbonButton();
button.Label = "New Button";
group1.Items.Add(button);
}
}
In Visual C#-Projekten, die Sie von Visual Studio 2008 aktualisiert haben, wird der Konstruktor in der Menüband-Codedatei angezeigt.
In Visual Basic-Projekten oder in Visual C#-Projekten, die Sie in Visual Studio 2013 erstellt haben, wird der Konstruktor in der Codedatei des Menüband-Designers angezeigt. Diese Datei heißt "YourRibbonItem". Designer.cs oder YourRibbonItem. Designer.vb. Um diese Datei in Visual Basic-Projekten anzuzeigen, müssen Sie zuerst im Projektmappen-Explorer auf die Schaltfläche "Alle Dateien anzeigen " klicken.
Festlegen von Eigenschaften in der CreateRibbonExtensibilityObject-Methode
Sie können die Eigenschaften eines Ribbon Steuerelements festlegen, wenn Sie die Methode in der CreateRibbonExtensibilityObjectThisAddin, ThisWorkbookoder ThisDocument Klasse Ihres Projekts überschreiben. Weitere Informationen zu der CreateRibbonExtensibilityObject-Methode finden Sie unter Ribbon-Übersicht.
Im folgenden Beispiel werden die Ribbon-Eigenschaften in der CreateRibbonExtensibilityObject Methode der ThisWorkbook Klasse eines Excel-Workbook-Projekts konfiguriert.
Fügen Sie den folgenden Code hinzu.
protected override Microsoft.Office.Core.IRibbonExtensibility
CreateRibbonExtensibilityObject()
{
bool myCondition = false;
if (myCondition == true)
{
Ribbon1 tempRibbon = new Ribbon1();
tempRibbon.tab1.ControlId.ControlIdType =
Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
tempRibbon.tab1.ControlId.OfficeId = "TabHome";
return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
new Microsoft.Office.Tools.Ribbon.IRibbonExtension[]
{ tempRibbon });
}
else
{
Ribbon2 tempRibbon = new Ribbon2();
tempRibbon.tab1.ControlId.ControlIdType =
Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
tempRibbon.tab1.ControlId.OfficeId = "TabInsert";
return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
new Microsoft.Office.Tools.Ribbon.IRibbonExtension[] { tempRibbon });
}
}
Eigenschaften, die schreibgeschützt werden
In der folgenden Tabelle sind Eigenschaften aufgeführt, die nur vor dem Laden des Ribbons festgelegt werden können.
Hinweis
Sie können die Eigenschaften von Steuerelementen in dynamischen Menüs jederzeit festlegen. Diese Tabelle gilt in diesem Fall nicht.
| Eigentum | Menüband-Steuerelement-Klasse |
|---|---|
| BoxStyle | RibbonBox |
| ButtonType | RibbonSplitButton |
| ColumnCount | RibbonGallery |
| ControlId | RibbonTab |
| DialogLauncher | RibbonGroup |
| Dynamisch | RibbonMenu |
| Global | OfficeRibbon |
| Gruppen | RibbonTab |
| ImageName | RibbonButton RibbonComboBox RibbonDialogLauncher RibbonDropDown RibbonEditBox RibbonGallery RibbonMenu RibbonSplitButton RibbonToggleButton |
| ArtikelGröße | RibbonMenu RibbonSplitButton |
| MaxLength | RibbonComboBox RibbonEditBox |
| Name | RibbonComponent |
| Position | RibbonButton RibbonCheckBox RibbonGallery RibbonGroup RibbonMenu RibbonSeparator RibbonSplitButton RibbonTab RibbonToggleButton |
| RibbonType | OfficeRibbon |
| RowCount | RibbonGallery |
| ShowItemImage | RibbonComboBox RibbonDropDown RibbonGallery |
| ShowItemLabel | RibbonDropDown RibbonGallery |
| ShowItemSelection | RibbonGallery |
| SizeString | RibbonComboBox RibbonDropDown RibbonEditBox |
| StartFromScratch | OfficeRibbon |
| Tabs | OfficeRibbon |
| Title | RibbonSeparator |
Festlegen von Eigenschaften für Menübänder, die in Outlook-Inspektoren angezeigt werden
Jedes Mal wird eine neue Instanz des Menübands erstellt, wenn ein Benutzer einen Inspektor öffnet, in dem das Menüband angezeigt wird. Sie können die in der obigen Tabelle aufgeführten Eigenschaften jedoch erst festlegen, bevor die erste Instanz des Menübands erstellt wird. Nachdem die erste Instanz erstellt wurde, sind diese Eigenschaften schreibgeschützt, da die erste Instanz die XML-Datei definiert, die Outlook zum Laden des Menübands verwendet.
Wenn Sie bedingte Logik haben, die eine dieser Eigenschaften auf einen anderen Wert festlegt, wenn andere Instanzen des Menübands erstellt werden, hat dieser Code keine Auswirkung.
Hinweis
Stellen Sie sicher, dass die Name-Eigenschaft für jedes Steuerelement festgelegt ist, das Sie einem Outlook-Menüband hinzufügen. Wenn Sie einem Outlook-Menüband zur Laufzeit ein Steuerelement hinzufügen, müssen Sie diese Eigenschaft in Ihrem Code festlegen. Wenn Sie einem Outlook-Menüband zur Entwurfszeit ein Steuerelement hinzufügen, wird die Name-Eigenschaft automatisch festgelegt.
Ribbon-Steuerungsereignisse
Jede Steuerelementklasse enthält ein oder mehrere Ereignisse. In der folgenden Tabelle werden diese Ereignisse beschrieben.
| Event | Description |
|---|---|
| Click | Tritt auf, wenn auf ein Steuerelement geklickt wird. |
| TextChanged | Tritt auf, wenn der Text eines Bearbeitungsfelds oder Kombinationsfelds geändert wird. |
| ItemsLaden | Tritt auf, wenn die Items -Auflistung des Steuerelements von Office angefordert wird. Office speichert die Items-Auflistung zwischen, bis Ihr Code die Eigenschaften des Steuerelements ändert, oder Sie rufen die InvalidateControl Methode auf. |
| Buttonklick | Tritt auf, wenn auf eine Schaltfläche in einer RibbonGallery oder RibbonDropDown geklickt wird. |
| AuswahlGeändert | Tritt auf, wenn sich die Auswahl in einem RibbonDropDown oder RibbonGallery ändert. |
| DialogLauncherClick | Tritt auf, wenn auf das Startprogrammsymbol des Dialogfelds in der unteren rechten Ecke einer Gruppe geklickt wird. |
Die Ereignishandler für diese Ereignisse weisen die folgenden beiden Parameter auf.
| Parameter | Description |
|---|---|
| Absender | Ein Object Steuerelement, das das Ereignis ausgelöst hat. |
| e | Ein RibbonControlEventArgs, das ein IRibbonControl enthält. Verwenden Sie dieses Steuerelement, um auf alle Eigenschaften zuzugreifen, die im Menübandobjektmodell, das von den Visual Studio Tools für Office-Laufzeit bereitgestellt wird, nicht verfügbar ist. |
Verwandte Inhalte
- Greifen Sie zur Laufzeit auf das Menüband zu
- Menübandübersicht
- Gewusst wie: Erste Schritte beim Anpassen des Menübands
- Menüband-Designer
- Anleitung: Erstellen einer benutzerdefinierten Registerkarte mithilfe des Menüband-Designers
- Anleitung: Aktualisieren der Steuerelemente auf einem Menüband zur Laufzeit
- Anpassen eines Menübands für Outlook
- So geht's: Anpassen einer eingebauten Registerkarte
- Vorgehensweise: Hinzufügen von Steuerelementen zur Backstage-Ansicht
- Vorgehensweise: Exportieren eines Menübands aus dem Menüband-Designer in Menüband-XML
- Vorgehensweise: Anzeigen von Add-In-Benutzeroberflächenfehlern