Arbeiten mit Formularfenstern

Sie können bei der Programmierarbeit mit einem InfoPath-Formular Code schreiben, mit dem auf die Fenster eines Formulars zugegriffen wird, und dann einige der häufig enthaltenen Elemente anpassen. Das vom Microsoft.Office.InfoPath-Namespace bereitgestellte InfoPath-Objektmodell unterstützt den Zugriff auf die Fenster eines Formulars durch die Verwendung der Window-Klasse in Verbindung mit der WindowCollection-Klasse .

Hinweis

Die Klassen zum Arbeiten mit den Fenstern eines Formulars sind nur dann verfügbar, wenn ein InfoPath Editor-Formular verwendet wird. Wenn die Einstellung Kompatibilität einer Formularvorlage Webbrowserformular lautet, sind diese Klassen nicht verfügbar.

In InfoPath gibt es zwei Fenstertypen:

  • Das Bearbeitungsfenster, das verwendet wird, wenn ein Benutzer ein Formular ausfüllt.

  • Das Entwurfsfenster, das verwendet wird, wenn ein Benutzer eine Formularvorlage entwirft.

Beim Schreiben von Code in eine Formularvorlage bietet das Bearbeitungsfenster die nützlichsten Funktionen, da Sie ein Window-Objekt verwenden können, das das aktuelle Fenster darstellt, um auf eine Vielzahl von Eigenschaften und Methoden zuzugreifen, die zum Anpassen der Formularbearbeitung verwendet werden können.

Übersicht über die "WindowsCollection"-Klasse

Die WindowCollection-Klasse stellt die folgenden Eigenschaften bereit, die Entwickler von Formularvorlagen verwenden können, um die darin enthaltenen Window-Objekte zu verwalten.

Name Beschreibung
Count-Eigenschaft
Ruft die Anzahl der Window-Objekte ab, die in der Auflistung enthalten sind.
Item-Eigenschaft
Ruft einen Verweis auf das angegebene Window-Objekt ab.

Übersicht über die "Window"-Klasse

Die Window-Klasse stellt die folgenden Methoden und Eigenschaften bereit, die Formularentwickler für die Interaktion mit einem InfoPath-Fenster verwenden können. Die Unterstützung für diese Methoden und Eigenschaften hängt vom Typ des Fensters ( WindowType ) ab, mit dem Sie arbeiten. Manche Methoden und Eigenschaften funktionieren nur mit dem Bearbeitungsfenstertyp (WindowType.Editor). Die übrigen Methoden und Eigenschaften funktionieren sowohl mit dem Bearbeitungsfenstertyp als auch mit dem Entwurfsfenstertyp (WindowType.Designer). Darüber hinaus kann die Unterstützung für Methoden und Eigenschaften wie bei allen InfoPath-Objektmodellmembern je nach der Sicherheitsebene und der Bereitstellungsart des Formulars variieren.

Name Beschreibung Unterstützung des Fenstertyps
Activate-Methode
Aktiviert das Fenster (erteilt ihm den Fokus). Sowohl Typ Designer als auch Editor
Aktive Eigenschaft
Ruft einen Wert vom Typ Boolean ab, der angibt, ob es sich bei dem Fenster um das zurzeit aktive Fenster handelt. Sowohl Typ Designer als auch Editor
Caption-Eigenschaft
Ruft den Untertitel Text für das Fenster ab, das durch das Window-Objekt dargestellt wird, oder legt den Text fest. Nur Typ Editor
Close() -Methode
Schließt das Fenster mit der Aufforderung, Änderungen an ungespeicherten Formularen oder Formularen mit nicht gespeicherten Änderungen zu speichern. Nur Typ Editor
Close(Boolean)- Methode
Schließt das Fenster und erzwingt optional das Schließen eines ungespeicherten Formulars oder eines Formulars mit ungespeicherten Änderungen ohne Speichern. Nur Typ Editor
CommandBars-Eigenschaft
Ruft einen Verweis auf die Microsoft Office CommandBars-Auflistung ab, die dem Fenster zugeordnet ist. Sowohl Typ Designer als auch Editor
Height-Eigenschaft
Ruft die Höhe des Fensters gemessen in Punkten ab oder legt sie fest. Sowohl Typ Designer als auch Editor
Left-Eigenschaft
Ruft die horizontale Position des Fensters gemessen in Punkten ab oder legt sie fest. Sowohl Typ Designer als auch Editor
MailEnvelope-Eigenschaft
Ruft einen Verweis auf die MailEnvelope-Klasse ab. Nur Typ Editor
TaskPanes-Eigenschaft
Ruft einen Verweis auf die TaskPaneCollection-Auflistung ab. Sowohl Typ Designer als auch Editor
Top-Eigenschaft
Ruft die vertikale Position des Fensters gemessen in Punkten ab oder legt sie fest. Sowohl Typ Designer als auch Editor
Width-Eigenschaft
Ruft die Breite des Fensters gemessen in Punkten ab oder legt sie fest. Sowohl Typ Designer als auch Editor
WindowState-Eigenschaft
Ruft den Zustand des Fensters als WindowState-Wert ab oder legt den Zustand fest. Sowohl Typ Designer als auch Editor
WindowType-Eigenschaft
Ruft den Typ des Fensters als WindowType-Enumerationswert ab. Sowohl Typ Designer als auch Editor
XmlForm-Eigenschaft
Gibt einen Verweis auf das XmlForm-Objekt zurück, das dem Fenster zugeordnet ist. Nur Typ Editor

Verwenden der Klassen "WindowsCollection" und "Window"

Auf die WindowCollection-Klasse kann über die Windows-Eigenschaft der Application-Klasse zugegriffen werden. Wenn Sie die WindowCollection-Klasse für den Zugriff auf die Fenster eines Formulars verwenden, verwenden Sie einen Indexer (für Visual C#) oder übergeben eine lange ganze Zahl an die Item-Eigenschaft (für Visual Basic), um einen Verweis auf ein Window-Objekt instance zurückzugeben. Der folgende Code legt beispielsweise einen Verweis auf das erste Window-Objekt fest, das in der WindowCollection für die aktuelle InfoPath-Sitzung enthalten ist.

Window myWindow = this.Application.Windows[0];
Dim myWindow As Window = Me.Application.Windows(0)

Sie können direkt mit der ActiveWindow-Eigenschaft der Application-Klasse auf das aktuell geöffnete Fenster zugreifen, ohne die WindowCollection zu durchlaufen, wie in der folgenden Codezeile gezeigt.

Window myWindow = this.Application.ActiveWindow;
Dim myWindow As Window = Me.Application.ActiveWindow

Auf ein Window-Objekt kann auch mithilfe der Window-Eigenschaft der View-Klasse zugegriffen werden, die die aktuelle Ansicht darstellt, die zum Arbeiten mit dem dem Formular zugrunde liegenden XML-Dokument verwendet wird. Die CurrentView-Eigenschaft der XmlForm-Klasse wird verwendet, um auf ein View-Objekt zuzugreifen, das die aktuelle Ansicht darstellt. Der folgende Code legt beispielsweise einen Verweis auf das Fenster fest, das der aktuellen Ansicht zugeordnet ist.

Window myWindow = this.CurrentView.Window;
Dim myWindow As Window = Me.CurrentView.Window

Hinweis

Einige der Eigenschaften und Methoden der Window-Klasse sind nur für den Bearbeitungsfenstertyp vorgesehen. Wenn sie mit dem Entwurfsfenstertyp verwendet wird, wird ein Fehler zurückgegeben. Die für jeden Fenstertyp unterstützten Eigenschaften und Methoden werden in der Tabelle weiter oben in diesem Thema aufgelistet. Sie können die Window-Eigenschaft in Ihrem Code verwenden, um zu bestimmen, mit welchem Fenstertyp Sie arbeiten.