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
- Наследование
Примеры
В следующем примере свойство 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-документ в настраиваемую область задач. |