Compartilhar via


HtmlTaskPane Classe

Definição

Representa o painel de tarefas personalizado que está associado à janela atual na qual um formulário está sendo editado.

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
Herança
HtmlTaskPane

Exemplos

No exemplo a seguir, a Item[] propriedade da TaskPaneCollection classe é usada para obter uma referência ao TaskPane objeto que representa o painel de tarefas personalizado, que é lançado para o HtmlTaskPane tipo. Em seguida, o código chama o Navigate(String) método da HtmlTaskPane classe para abrir um arquivo HTML, que substitui o arquivo HTML atual que é carregado como o painel de tarefas personalizado.

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

No exemplo a seguir, a propriedade Item da TaskPaneCollection classe é usada para obter uma referência ao TaskPane objeto que representa o painel de tarefas personalizado. Em seguida, o código chama uma função de script definida no código HTML do painel de tarefas personalizado usando a HtmlDocument propriedade da HtmlTaskPane classe.

Para poder trabalhar com o modelo de objeto do arquivo HTML especificado como um painel de tarefas personalizado, use o modelo de objeto fornecido pela Biblioteca de Objetos do Microsoft HTML (MSHTML.dll). Para fazer isso a partir do código gerenciado, adicione uma referência ao Microsoft.mshtml na guia .NET da caixa de diálogo Adicionar Referência no Visual Studio 2012.

O exemplo a seguir pressupõe que você tenha um mshtml de uso; ou importa a diretiva mshtml na seção declarações do arquivo de código do formulário.

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

Comentários

Os painéis de tarefa personalizados do InfoPath só podem ser usados em um modelo de formulário com a compatibilidade definida como InfoPath Editor. Para definir a compatibilidade de um modelo de formulário, clique na guia Arquivo, clique em Opções de Formulário e clique na categoria Compatibilidade.

O HtmlTaskPane objeto fornece propriedades e métodos para trabalhar com painéis de tarefas personalizados do InfoPath e também herda as propriedades da TaskPane classe.

As propriedades disponíveis para um painel de tarefas do InfoPath são determinadas pelo tipo de painel de tarefas com o qual você está trabalhando. Se a TaskPaneType propriedade retornar TaskPaneType.Html, o painel de tarefas será um painel de tarefas personalizado e as propriedades e métodos disponíveis serão fornecidos pela HtmlTaskPane classe. Se a TaskPaneType propriedade retornar qualquer outro valor, o painel de tarefas será um painel de tarefas interno e as propriedades serão fornecidas pela TaskPane classe.

ATaskPaneType propriedade retorna valores definidos pela TaskPaneType enumeração. Esses valores enumerados também são usados como argumentos para a Item[TaskPaneType] propriedade da TaskPaneCollection classe para retornar uma referência a um tipo especificado de painel de tarefas.

Para habilitar e adicionar um painel de tarefas personalizado a um modelo de formulário, primeiro você deve criar um ou mais arquivos HTML e adicioná-los como arquivos de recurso usando o comando Arquivos de Recursos na guia Dados no modo de design do modelo de formulário. Em seguida, você deve configurar um dos arquivos HTML como o painel de tarefas personalizado padrão do modelo de formulário, clicando na guia Arquivo, clicando em Opções de Formulário, clicando na categoria Programação e selecionando a caixa Habilitar tarefa personalizada marcar.

Observação: as propriedades e os HtmlTaskPane métodos do objeto não podem ser chamados de um manipulador de eventos para o Loading evento porque o modo de exibição ainda não é carregado quando esse evento ocorre e os painéis de tarefa estão associados ao modo de exibição.

Construtores

HtmlTaskPane()

Representa o painel de tarefas personalizado que está associado à janela atual na qual um formulário está sendo editado.

Propriedades

HtmlDocument

Obtém uma referência à interface IHTMLDocument2 do MSHTML para trabalhar com o modelo de objeto de documento HTML de um painel de tarefas personalizado.

HtmlWindow

Obtém uma referência à interface IHTMLWindow2 do MSHTML para trabalhar com o documento HTML de um painel de tarefas personalizado.

TaskPaneType

Obtém um TaskPaneType valor que indica o tipo de painel de tarefas representado pelo TaskPane objeto.

(Herdado de TaskPane)
Visible

Obtém ou define se o painel de tarefas representado pelo TaskPane objeto está visível na interface do usuário do Microsoft InfoPath.

(Herdado de TaskPane)

Métodos

Navigate(String)

Carrega o documento HTML especificado no painel de tarefas personalizado.

Aplica-se a