Поделиться через


HtmlTaskPane Класс

Определение

Представляет настраиваемую область задач, связанную с текущим окном, в котором выполняется редактирование формы.

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
Наследование
HtmlTaskPane

Примеры

В следующем примере свойство TaskPaneCollection класса используется для получения ссылки на TaskPane объект, Item[] представляющий настраиваемую область задач, которая приводится к типу HtmlTaskPane . Затем код вызывает Navigate(String) метод HtmlTaskPane класса для открытия HTML-файла, который заменяет текущий HTML-файл, загруженный в качестве настраиваемой области задач.

// 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")

В следующем примере свойство TaskPaneCollectionItem класса используется для получения ссылки на TaskPane объект, представляющий настраиваемую область задач. Затем код вызывает функцию скрипта, определенную в HTML-коде настраиваемой области задач, с помощью HtmlDocument свойства HtmlTaskPane класса .

Чтобы иметь возможность работать с объектной моделью файла HTML, определенного как настраиваемая область задач, используйте объектную модель, предоставляемую библиотекой объектов Microsoft HTML (MSHTML.dll). Чтобы сделать это из управляемого кода, добавьте ссылку на Microsoft.mshtml на вкладке .NET диалогового окна Добавление ссылки в Visual Studio 2012.

В следующем примере предполагается, что в разделе описаний файла кода формы имеется директива using mshtml; или Imports mshtml.

// 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

Комментарии

Настраиваемые области задач InfoPath могут использоваться только в шаблоне формы с режимом совместимости, установленным в положение Редактор InfoPath. Чтобы задать режим совместимости шаблона формы, щелкните вкладку Файл, нажмите Параметры формы и затем выберите категорию Совместимость.

Объект HtmlTaskPane предоставляет свойства и методы для работы с настраиваемыми областями задач InfoPath, а также наследует свойства TaskPane класса .

Свойства, доступные для области задач InfoPath, определяются ее типом, с которым работает пользователь. TaskPaneType Если свойство возвращает TaskPaneType.Html, область задач является настраиваемой областью задач, а доступные свойства и методы предоставляются классом HtmlTaskPane . TaskPaneType Если свойство возвращает любое другое значение, область задач является встроенной областью задач, а свойства предоставляются классом TaskPane .

СвойствоTaskPaneType возвращает значения, определенные перечислением TaskPaneType . Эти перечисленные значения также используются в качестве аргументов Item[TaskPaneType] свойства TaskPaneCollection класса для возврата ссылки на указанный тип области задач.

Чтобы включить и добавить настраиваемую область задач к шаблону формы, сначала нужно создать один или несколько файлов HTML и добавить их как файлы ресурсов с помощью команды Файлы ресурсов на вкладке Данные в режиме конструктора шаблона формы. Затем необходимо настроить один из файлов HTML как настраиваемую область задач по умолчанию шаблона формы, выбрав вкладку Файл, нажав Параметры формы, выбрав категорию Программирование и затем установив флажок Включить настраиваемую область задач.

Примечание. Свойства и методы объекта не могут быть вызваны HtmlTaskPane из обработчика событий для Loading события, так как представление еще не загружено при возникновении этого события, а области задач связаны с представлением.

Конструкторы

HtmlTaskPane()

Представляет настраиваемую область задач, связанную с текущим окном, в котором выполняется редактирование формы.

Свойства

HtmlDocument

Возвращает ссылку на интерфейс IHTMLDocument2 MSHTML для работы с объектной моделью HTML-документа настраиваемой области задач.

HtmlWindow

Возвращает ссылку на интерфейс IHTMLWindow2 MSHTML для работы с HTML-документом настраиваемой области задач.

TaskPaneType

TaskPaneType Возвращает значение, указывающее тип области задач, представленной TaskPane объектом .

(Унаследовано от TaskPane)
Visible

Возвращает или задает значение, указывающее TaskPane , отображается ли область задач, представленная объектом, в пользовательском интерфейсе Microsoft InfoPath.

(Унаследовано от TaskPane)

Методы

Navigate(String)

Загружает указанный HTML-документ в настраиваемую область задач.

Применяется к