Vorgehensweise: Anzeigen von Warnungen und Dialogfeldern mit dem InfoPath 2003-Objektmodell
Beim Schreiben von Code, um die Funktionalität einer Formularvorlage zu erweitern, die das InfoPath 2003-Objektmodell verwendet, empfiehlt es sich häufig, dem Benutzer Informationen in einem Dialogfeld bereitzustellen. In InfoPath erfolgt das programmgesteuerte Anzeigen eines Dialogfelds sowie zugehöriger Benutzeroberflächenelemente mithilfe der Methoden der UIObject-Schnittstelle.
Übersicht über die UIObject-Schnittstelle
Die UIObject-Schnittstelle stellt die folgenden Methoden bereit, die Formularentwickler verwenden können, damit unterschiedliche Arten von Dialogfeldern für InfoPath-Benutzer angezeigt werden, wenn sie ein Formular ausfüllen.
Name |
Beschreibung |
---|---|
Zeigt ein einfaches Meldungsfeld an, das eine bestimmte Meldungszeichenfolge enthält. Diese Methode sollte dann verwendet werden, wenn keine Benutzereingaben erforderlich sind und nur eine Meldung angezeigt werden muss. Das Dialogfeld wird durch Klicken auf die Schaltfläche OK geschlossen. |
|
Zeigt ein Meldungsfeld mit Schaltflächen für Benutzereingaben an. Der zurückgegebene Wert entspricht einer der aufgelisteten XdConfirmChoice-Konstanten. |
|
Legt den Standarddateinamen für ein Formular im Dialogfeld Speichern unter fest. |
|
Legt den Ausgangsort fest, an dem das Dialogfeld Speichern unter beim Öffnen mit der Navigation beginnt. |
|
Erstellt eine neue E-Mail-Nachricht in der E-Mail-Standardanwendung, wobei das derzeit geöffnete Formular an die Nachricht angefügt wird. |
|
Zeigt ein modales Dialogfeld basierend auf der angegebenen HTML-Datei und positionellen Argumenten an. Diese Methode sollte verwendet werden, wenn mehr als eine einfache Meldung für Benutzer angezeigt werden soll und Daten von den Benutzern zurückgegeben werden müssen (abgesehen von der einfachen Bestätigung durch die Schaltflächen Ja | Nein | Abbrechen, die von der Confirm-Methode angezeigt werden). |
|
Zeigt das integrierte Dialogfeld Digitale Signaturen an. |
Verwenden der UIObject-Schnittstelle
Der Zugriff auf die UIObject-Schnittstelle erfolgt über die UI-Eigenschaft der XDocument-Schnittstelle, auf die wiederum über die in der _Startup-Methode der Formularcodeklasse initialisierten thisXDocument-Variablen zugegriffen wird. Im folgenden Beispiel wird die Verwendung der Methoden ShowMailItem und Alert der UIObject-Schnittstelle veranschaulicht.
thisXDocument.UI.ShowMailItem("someone@example.com","", "",
"Updated Form", "Here is the updated form that you requested.");
thisXDocument.UI.Alert("The e-mail message has been created.");
thisXDocument.UI.ShowMailItem("someone@example.com", "", "", _
"Updated Form", "Here is the updated form that you requested.")
thisXDocument.UI.Alert("The e-mail message has been created.")
Verwenden der ShowModalDialog-Methode
In diesem Beispiel wird die Verwendung der ShowModalDialog-Methode der UIObject-Schnittstelle zum Anzeigen eines benutzerdefinierten Dialogfelds, das in der HTML-Datei show.html definiert ist, veranschaulicht:
public void CTRL1_5_OnClick(DocActionEvent e)
{
// Write your code here.
thisXDocument.UI.ShowModalDialog(
"show.html",(object)thisXDocument,200,450,50,50);
}
Public Sub CTRL1_5_OnClick(ByVal e As DocActionEvent)
' Write your code here.
thisXDocument.UI.ShowModalDialog( _
"show.html", _
DirectCast(thisXDocument, Object), 200, 450, 50, 50)
End Sub
Sowohl das Beispiel für Visual C# als auch das für Visual Basic ist von einer HTML-Datei namens show.html abhängig, die das von der ShowModalDialog-Methode aufgerufene Dialogfeld definiert. In dieser HTML-Datei werden einige Daten aus dem Formular sowie ein Textfeld für den Benutzer angezeigt, in das der Benutzer einen Wert eingeben soll. Der Wert im Textfeld wird beim Schließen des Dialogfelds an das Formular zurückgegeben.
<HTML>
<HEAD>
<script language="JScript">
function BtnClick()
{
xdocument = window.dialogArguments;
myXml = xdocument.DOM.xml
aForm = oForm.elements;
aForm.textBox.value = myXml;
}
</script>
</HEAD>
<BODY>
<H1><FONT face="Arial">This is a modal dialog box</FONT>
</H1>
<BUTTON onclick="BtnClick()" id="BUTTON1" type="button">
Get XML DOM
</BUTTON>
<FORM ID="oForm">
<INPUT Type="text" name="textBox">
</FORM>
</BODY>
</HTML>
Wichtig
Die ShowModalDialog-Methode setzt zur Ausführung oder Vorschau die Sicherheitsebene "Voll vertrauenswürdig" voraus. Weitere Informationen hierzu finden Sie unter Vorgehensweise: Anzeigen einer Vorschau und Debuggen von Formularvorlagen mit verwaltetem Code, die vollständig vertrauenswürdig sein müssen.