Freigeben über


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

  • Projekte auf Anwendungsebene

Microsoft Office-Version

  • Outlook 2007

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

Erstellen von Outlook-Formularbereichen

Zugreifen auf die Multifunktionsleiste zur Laufzeit