Freigeben über


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

Alert

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.

Confirm

Zeigt ein Meldungsfeld mit Schaltflächen für Benutzereingaben an. Der zurückgegebene Wert entspricht einer der aufgelisteten XdConfirmChoice-Konstanten.

SetSaveAsDialogFileName

Legt den Standarddateinamen für ein Formular im Dialogfeld Speichern unter fest.

SetSaveAsDialogLocation

Legt den Ausgangsort fest, an dem das Dialogfeld Speichern unter beim Öffnen mit der Navigation beginnt.

ShowMailItem

Erstellt eine neue E-Mail-Nachricht in der E-Mail-Standardanwendung, wobei das derzeit geöffnete Formular an die Nachricht angefügt wird.

ShowModalDialog

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).

ShowSignatureDialog

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> &nbsp;
      </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.