HtmlTaskPane Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa el panel de tareas personalizado asociado a la ventana en la que se está editando el formulario.
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
- Herencia
Ejemplos
En el ejemplo siguiente, la Item[] propiedad de la TaskPaneCollection clase se usa para obtener una referencia al TaskPane objeto que representa el panel de tareas personalizado, que se convierte en el HtmlTaskPane tipo . A continuación, el código llama al Navigate(String) método de la HtmlTaskPane clase para abrir un archivo HTML, que reemplaza al archivo HTML actual que se carga como panel de tareas 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")
En el ejemplo siguiente, se usa la propiedad Item de la TaskPaneCollection clase para obtener una referencia al TaskPane objeto que representa el panel de tareas personalizado. A continuación, el código llama a una función de scripting definida en el código HTML del panel de tareas personalizado mediante la HtmlDocument propiedad de la HtmlTaskPane clase .
Para poder trabajar con el modelo de objetos del archivo HTML especificado como panel de tareas personalizado, se usa el modelo de objetos proporcionado por la biblioteca de objetos HTML de Microsoft (MSHTML.dll). Para ello desde código administrado, agregue una referencia a Microsoft.mshtml en la pestaña .NET del cuadro de diálogo Agregar referencia en Visual Studio 2012.
En el ejemplo siguiente se supone que se dispone de una directiva using mshtml; o Imports mshtml en la sección de declaraciones del archivo de código del formulario.
// 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
Comentarios
Los paneles de tareas personalizados de InfoPath solo pueden usarse en una plantilla de formulario con la compatibilidad configurada en Editor de InfoPath. Para configurar la compatibilidad de una plantilla de formulario, haga clic en la pestaña Archivo, en Opciones de formulario y luego haga clic en la categoría Compatibilidad.
El HtmlTaskPane objeto proporciona propiedades y métodos para trabajar con paneles de tareas personalizados de InfoPath, y también hereda las propiedades de la TaskPane clase .
Las propiedades que están disponibles para un panel de tareas de InfoPath vienen determinadas por el tipo de panel de tareas con que se trabaje. Si la TaskPaneType propiedad devuelve TaskPaneType.Html, el panel de tareas es un panel de tareas personalizado y la clase proporciona HtmlTaskPane las propiedades y los métodos disponibles. Si la TaskPaneType propiedad devuelve cualquier otro valor, el panel de tareas es un panel de tareas integrado y la clase proporciona TaskPane las propiedades.
LaTaskPaneType propiedad devuelve valores definidos por la TaskPaneType enumeración . Estos valores enumerados también se usan como argumentos para la Item[TaskPaneType] propiedad de la TaskPaneCollection clase para devolver una referencia a un tipo especificado de panel de tareas.
Para habilitar y agregar un panel de tareas personalizado a una plantilla de formulario, primero debe crear uno o varios archivos HTML y agregarlos como archivos de recursos mediante el comando Archivos de recursos de la pestaña Datos en el modo de diseño de plantillas de formulario. A continuación, debe configurar unos de los archivos HTML como panel de tareas personalizado predeterminado de la plantilla de formulario haciendo clic en la pestaña Archivo, Opciones del formulario, haciendo clic en la categoría Programación y, a continuación, activando la casillaHabilitar el panel de tareas personalizado.
Nota: Las propiedades y los métodos del HtmlTaskPane objeto no se pueden llamar desde un controlador de eventos para el Loading evento porque la vista aún no se carga cuando se produce este evento y los paneles de tareas están asociados a la vista.
Constructores
| HtmlTaskPane() |
Representa el panel de tareas personalizado asociado a la ventana en la que se está editando el formulario. |
Propiedades
| HtmlDocument |
Obtiene una referencia a la interfaz IHTMLDocument2 de MSHTML para trabajar con el modelo de objetos de documentos HTML de un panel de tareas personalizado. |
| HtmlWindow |
Obtiene una referencia a la interfaz IHTMLWindow2 de MSHTML para trabajar con el documento HTML de un panel de tareas personalizado. |
| TaskPaneType |
Obtiene un TaskPaneType valor que indica el tipo de panel de tareas representado por el TaskPane objeto . (Heredado de TaskPane) |
| Visible |
Obtiene o establece si el panel de tareas representado por el TaskPane objeto está visible en la interfaz de usuario de Microsoft InfoPath. (Heredado de TaskPane) |
Métodos
| Navigate(String) |
Carga el documento HTML especificado en el panel de tareas personalizado. |