Zugreifen auf einen Formularbereich zur Laufzeit
Aktualisiert: November 2007
Betrifft |
---|
Die Informationen in diesem Thema gelten nur für die angegebenen Visual Studio Tools for Office-Projekte und Versionen von Microsoft Office. Projekttyp
Microsoft Office-Version
Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp. |
Sie können Code schreiben, um Steuerelemente für einen Formularbereich anzuzeigen, auszublenden oder zu ändern und Benutzern das Ausführen des Codes von anderen Bereichen im Projekt mithilfe der Globals-Klasse ermöglichen.
Weitere Informationen über die Globals-Klasse finden Sie unter Globaler Zugriff auf eigene Objekte in Visual Studio Tools for Office-Projekte.
Verwenden Sie die Globals-Klasse, um auf die Formularbereiche zuzugreifen, die an einem beliebigen Standort im Projekt in Inspektoren und Explorern angezeigt werden. Bei einem Inspektor handelt es sich um ein Fenster, das in Outlook geöffnet wird, wenn Benutzer bestimmte Aufgaben ausführen, beispielsweise E-Mails erstellen. Bei einem Explorer handelt es sich um ein Fenster, in dem der Inhalt eines Ordners angezeigt wird, der Elemente wie E-Mail-Nachrichten, Aufgaben oder Termine enthält.
Zugreifen auf Formularbereiche, die in einem bestimmten Fenster von Outlook-Inspektor angezeigt werden
Wenn Sie auf alle in einem bestimmten Outlook-Inspektor angezeigten Formularbereiche zugreifen möchten, rufen Sie die FormRegions-Eigenschaft der Globals-Klasse auf, und übergeben Sie ein Inspector-Objekt, das den Inspektor darstellt.
Im folgenden Beispiel wird die Auflistung von Formularbereichen abgerufen, die im derzeit im Fokus stehenden Inspektor angezeigt werden. In diesem Beispiel wird anschließend auf einen Formularbereich in der Auflistung mit der Bezeichnung formRegion1 zugegriffen, und der Text, der in einem Textfeld angezeigt wird, wird auf Hello World festgelegt.
Private Sub Access_Form_Regions_ByInspector()
Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
(Globals.ThisAddIn.Application.ActiveInspector())
formRegions.FormRegion1.textBox1.Text = "Hello World"
End Sub
private void Access_Form_Regions_ByInspector()
{
WindowFormRegionCollection formRegions =
Globals.FormRegions
[Globals.ThisAddIn.Application.ActiveInspector()];
formRegions.FormRegion1.textBox1.Text = "Hello World";
}
Zugreifen auf Formularbereiche, die in einem bestimmten Fenster von Outlook-Explorer angezeigt werden
Wenn Sie auf alle in einem bestimmten Outlook-Explorer angezeigten Formularbereiche zugreifen möchten, rufen Sie die FormRegions-Eigenschaft der Globals-Klasse auf, und übergeben Sie ein Explorer-Objekt, das den Explorer darstellt.
Im folgenden Beispiel wird die Auflistung von Formularbereichen abgerufen, die im derzeit im Fokus stehenden Explorer angezeigt werden. In diesem Beispiel wird anschließend auf einen Formularbereich in der Auflistung mit der Bezeichnung formRegion1 zugegriffen, und der Text, der in einem Textfeld angezeigt wird, wird auf Hello World festgelegt.
Private Sub Access_Form_Regions_ByExplorer()
Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
(Globals.ThisAddIn.Application.ActiveExplorer())
formRegions.FormRegion1.textBox1.Text = "Hello World"
End Sub
private void Access_Form_Regions_ByExplorer()
{
WindowFormRegionCollection formRegions =
Globals.FormRegions
[Globals.ThisAddIn.Application.ActiveExplorer()];
formRegions.FormRegion1.textBox1.Text = "Hello World";
}
Zugreifen auf alle Formularbereiche
Wenn Sie auf alle Formularbereiche zugreifen möchten, die in allen Explorern und Inspektoren angezeigt werden, rufen Sie die FormRegions-Eigenschaft der Globals-Klasse auf.
Im folgenden Beispiel wird die Auflistung von Formularbereichen abgerufen, die in allen Explorern und Inspektoren angezeigt werden. In diesem Beispiel wird anschließend auf einen Formularbereich mit der Bezeichnung formRegion1 zugegriffen, und der Text, der in einem Textfeld angezeigt wird, wird auf Hello World festgelegt.
Friend Sub Access_All_Form_Regions()
Dim formRegion As Microsoft.Office.Tools.Outlook.IFormRegion
For Each formRegion In Globals.FormRegions
If TypeOf formRegion Is FormRegion1 Then
Dim formRegion1 As FormRegion1 = _
CType(formRegion, FormRegion1)
formRegion1.textBox1.Text = "Hello World"
End If
Next formRegion
End Sub
internal void Access_All_Form_Regions()
{
foreach (Microsoft.Office.Tools.Outlook.IFormRegion formRegion
in Globals.FormRegions)
{
if (formRegion is FormRegion1)
{
FormRegion1 formRegion1 = (FormRegion1)formRegion;
formRegion1.textBox1.Text = "Hello World";
}
}
}
Zugreifen auf Steuerelemente für einen Formularbereich
Soll mithilfe der Globals-Klasse auf Steuerelemente für einen Formularbereich zugegriffen werden, müssen die Steuerelemente für Code verfügbar gemacht werden, der außerhalb der Formularbereich-Codedatei liegt.
Im Formularbereich-Designer entworfene Formularbereiche
Ändern Sie für C# den Modifizierer für jedes Steuerelement, auf das Sie zugreifen möchten. Wählen Sie dazu jedes Steuerelement im Formularbereich-Designer aus, und ändern Sie die Modifiers-Eigenschaft im Fenster Eigenschaften zu Internal oder public. Wird beispielsweise die Modifiers-Eigenschaft von textBox1 zu Internal geändert, können Sie durch Eingabe von Globals.FormRegions.FormRegion1.textBox1 auf textBox1 zugreifen.
Für Visual Basic muss der Modifizierer nicht geändert werden.
Importierte Formularbereiche
Beim Importieren eines in Outlook entworfenen Formularbereichs wird der Zugriffsmodifizierer jedes Steuerelements für den Formularbereich privat. Da der Formularbereich-Designer nicht zum Ändern eines importierten Formularbereichs verwendet werden kann, besteht keine Möglichkeit, den Modifizierer eines Steuerelements im Fenster Eigenschaften zu ändern.
Wenn von außerhalb der Formularbereich-Codedatei Zugriff auf ein Steuerelement ermöglicht werden soll, muss in der Formularbereich-Codedatei eine Eigenschaft erstellt werden, um dieses Steuerelement zurückzugeben.
Weitere Informationen zum Erstellen von Eigenschaften in C# finden Sie unter Gewusst wie: Deklarieren und Verwenden von Lese-/Schreibeigenschaften (C#-Programmierhandbuch).
Weitere Informationen zum Erstellen von Eigenschaften in Visual Basic finden Sie unter Gewusst wie: Hinzufügen von Feldern und Eigenschaften zu einer Klasse.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Entwerfen eines Outlook-Formularbereichs
Gewusst wie: Hinzufügen eines Bereichs zu einem Outlook-Add-In-Projekt
Exemplarische Vorgehensweise: Importieren eines in Outlook entworfenen Formularbereichs
Gewusst wie: Verhindern der Anzeige eines Formularbereichs in Outlook
Gewusst wie: Zugreifen auf das Outlook-Element, das den Formularbereich anzeigt.
Konzepte
Richtlinien zum Erstellen von Outlook-Formularbereichen
Benutzerdefinierte Aktionen in Outlook-Formularbereichen
Zuordnen eines Formularbereichs zu einer Outlook-Nachrichtenklasse