Freigeben über


HtmlTaskPane Klasse

Definition

Stellt den benutzerdefinierten Aufgabenbereich dar, der dem aktuellen Fenster zugeordnet ist, in dem ein Formular bearbeitet wird.

public ref class HtmlTaskPane abstract : Microsoft::Office::InfoPath::TaskPane
public abstract class HtmlTaskPane : Microsoft.Office.InfoPath.TaskPane
type HtmlTaskPane = class
    inherit TaskPane
Public MustInherit Class HtmlTaskPane
Inherits TaskPane
Vererbung
HtmlTaskPane

Beispiele

Im folgenden Beispiel wird die Item[] -Eigenschaft der TaskPaneCollection -Klasse verwendet, um einen Verweis auf das TaskPane -Objekt abzurufen, das den benutzerdefinierten Aufgabenbereich darstellt, der in den HtmlTaskPane Typ umgewandelt wird. Der Code ruft dann die Navigate(String) -Methode der HtmlTaskPane -Klasse auf, um eine HTML-Datei zu öffnen, die die aktuelle HTML-Datei ersetzt, die als benutzerdefinierter Aufgabenbereich geladen wird.

// Get a reference to the custom task pane. 
// It is always index [0] in the TaskPanes collection.
HtmlTaskPane oTaskPane = (Microsoft.Office.InfoPath.HtmlTaskPane)
   (this.CurrentView.Window.TaskPanes[0]);

// Navigate to new task pane based on url specified.
oTaskPane.Navigate("taskpane2.html");
' Get a reference to the custom task pane. It is always index (0) in 
' the TaskPanes collection.
Dim oTaskPane As HtmlTaskPane = _
   DirectCast(Me.CurrentView.Window.TaskPanes(0), _
   Microsoft.Office.InfoPath.HtmlTaskPane)

' Navigate to new task pane based on url specified.
oTaskPane.Navigate("taskpane2.html")

Im folgenden Beispiel wird die Item-Eigenschaft der TaskPaneCollection -Klasse verwendet, um einen Verweis auf das TaskPane -Objekt abzurufen, das den benutzerdefinierten Aufgabenbereich darstellt. Der Code ruft dann mithilfe der -Eigenschaft der -Klasse eine Skriptfunktion auf, die HtmlDocument im HTML-Code des benutzerdefinierten Aufgabenbereichs HtmlTaskPane definiert ist.

Um mit dem Objektmodell der HTML-Datei arbeiten zu können, die als benutzerdefinierter Aufgabenbereich angegeben ist, verwenden Sie das Objektmodell, das von der Microsoft HTML-Objektbibliothek (MSHTML.dll) bereitgestellt wird. Fügen Sie dazu einen Verweis auf Microsoft.mshtml auf der Registerkarte .NET des Dialogfelds Verweis hinzufügen in Visual Studio 2012 hinzu.

Im folgenden Beispiel wird davon ausgegangen, dass sich die using mshtml; oder Imports mshtml-Direktive im Deklarationenabschnitt der Formularcodedatei befindet.

// Ensure View has loaded before trying to access the task pane.
if (this.CurrentView != null)
{
   // Get a reference to the custom task pane. It is always index [0]
   // in the TaskPanes collection.
   HtmlTaskPane custom = (Microsoft.Office.InfoPath.HtmlTaskPane)
      this.CurrentView.Window.TaskPanes[0];

   // Get a reference to the custom task pane document.
   IHTMLDocument2 oHTMLdoc = (IHTMLDocument2)custom.HtmlDocument;

   // Ensure that the task pane is completely loaded.
   if (custom != null && oHTMLdoc.readyState == "complete")
   {
      // Get a reference to the parent window of the task pane. 
      IHTMLWindow2 window = (IHTMLWindow2)custom.HtmlWindow;

      // Create array to contain method arguments.
      object[] args = new object[] { "ViewID" };

      // Call into script through CLR late binding mechanism
      window.GetType().InvokeMember(
         "SelectView",      // late bound method name.
         System.Reflection.BindingFlags.InvokeMethod | // binding flags
         System.Reflection.BindingFlags.DeclaredOnly |
         System.Reflection.BindingFlags.Public |
         System.Reflection.BindingFlags.Instance,
         null,     // binder object
         window,   // target object
         args);   // method arguments
   }
}
' Ensure View has loaded before trying to access the task pane.
If Not (Me.CurrentView Is Nothing) Then
   ' Get a reference to the custom task pane. It is always index (0)
   ' in the TaskPanes collection.
   Dim custom As HtmlTaskPane = _
      DirectCast(Me.CurrentView.Window.TaskPanes(0), _
      Microsoft.Office.InfoPath.HtmlTaskPane)

   ' Get a reference to the custom task pane document.
   Dim oHTMLdoc As IHTMLDocument2 = DirectCast(
      custom.HtmlDocument, IHTMLDocument2)

   ' Ensure that the task pane is completely loaded.
   If Not (custom Is Nothing And oHTMLdoc.readyState = "complete") Then
      ' Get a reference to the parent window of the task pane.
      Dim window As IHTMLWindow2 = DirectCast(custom.HtmlWindow, _
         IHTMLWindow2

      ' Create array to contain method arguments.
        Dim args As Object()
        args = New Object() {"ViewID"}

        ' Call into script through CLR late binding mechanism
        window.GetType().InvokeMember( _
         "SelectView", _
         System.Reflection.BindingFlags.InvokeMethod Or _
         System.Reflection.BindingFlags.DeclaredOnly Or _
         System.Reflection.BindingFlags.Public Or _
         System.Reflection.BindingFlags.Instance, _
         Nothing, _
         window, _
         args)
    End If
End If

Hinweise

Benutzerdefinierte InfoPath-Aufgabenbereiche können nur in einer Formularvorlage verwendet werden, für die die Kompatibilität auf InfoPath Editor festgelegt wurde. Zum Festlegen der Kompatibilität einer Formularvorlage klicken Sie auf die Registerkarte Datei, dann auf Formularoptionen und anschließend auf die Kategorie Kompatibilität.

Das HtmlTaskPane -Objekt stellt Eigenschaften und Methoden für die Arbeit mit benutzerdefinierten InfoPath-Aufgabenbereichen bereit und erbt auch die Eigenschaften der TaskPane -Klasse.

Die Eigenschaften, die für einen InfoPath-Aufgabenbereich verfügbar sind, werden durch den Typ des Aufgabenbereichs bestimmt, mit dem Sie arbeiten. Wenn die TaskPaneType Eigenschaft TaskPaneType.Htmlzurückgibt, ist der Aufgabenbereich ein benutzerdefinierter Aufgabenbereich, und die verfügbaren Eigenschaften und Methoden werden von der HtmlTaskPane -Klasse bereitgestellt. Wenn die TaskPaneType Eigenschaft einen anderen Wert zurückgibt, ist der Aufgabenbereich ein integrierter Aufgabenbereich, und die Eigenschaften werden von der TaskPane -Klasse bereitgestellt.

DieTaskPaneType -Eigenschaft gibt von der TaskPaneType -Enumeration definierte Werte zurück. Diese Aufzählungswerte werden auch als Argumente für die Item[TaskPaneType] -Eigenschaft der TaskPaneCollection -Klasse verwendet, um einen Verweis auf einen angegebenen Aufgabenbereichstyp zurückzugeben.

Wenn Sie einen benutzerdefinierten Aufgabenbereich aktivieren und einer Formularvorlage hinzufügen möchten, müssen Sie zuerst eine oder mehrere HTML-Dateien erstellen und diese als Ressourcendateien hinzufügen, indem Sie im Entwurfsmodus für Formularvorlagen den Befehl Ressourcendateien auf der Registerkarte Daten verwenden. Anschließend müssen Sie eine der HTML-Dateien als standardmäßigen benutzerdefinierten Aufgabenbereich der Formularvorlage konfigurieren, indem Sie auf die Registerkarte Datei klicken, dann auf Formularoptionen und auf die Kategorie Programmierung klicken und anschließend das Kontrollkästchen Benutzerdefinierten Aufgabenbereich aktivieren aktivieren.

Hinweis: Die Eigenschaften und Methoden des HtmlTaskPane Objekts können nicht von einem Ereignishandler für das Loading Ereignis aufgerufen werden, da die Sicht noch nicht geladen ist, wenn dieses Ereignis eintritt, und Aufgabenbereiche der Ansicht zugeordnet sind.

Konstruktoren

HtmlTaskPane()

Stellt den benutzerdefinierten Aufgabenbereich dar, der dem aktuellen Fenster zugeordnet ist, in dem ein Formular bearbeitet wird.

Eigenschaften

HtmlDocument

Ruft einen Verweis auf die MSHTML-IHTMLDocument2-Schnittstelle zum Arbeiten mit dem HTML-Dokumentobjektmodell eines benutzerdefinierten Aufgabenbereichs ab.

HtmlWindow

Ruft einen Verweis auf die MSHTML-IHTMLWindow2-Schnittstelle zum Arbeiten mit dem HTML-Dokument eines benutzerdefinierten Aufgabenbereichs ab.

TaskPaneType

Ruft einen TaskPaneType Wert ab, der den Typ des Aufgabenbereichs angibt, der durch das TaskPane -Objekt dargestellt wird.

(Geerbt von TaskPane)
Visible

Ruft ab oder legt fest, ob der durch das TaskPane -Objekt dargestellte Aufgabenbereich auf der Microsoft InfoPath-Benutzeroberfläche sichtbar ist.

(Geerbt von TaskPane)

Methoden

Navigate(String)

Lädt das angegebene HTML-Dokument in den benutzerdefinierten Aufgabenbereich.

Gilt für: