Classe HtmlTaskPane
Rappresenta il riquadro attività personalizzato associato alla finestra corrente in cui è in corso la modifica di un modulo.
Spazio dei nomi: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)
Sintassi
Public MustInherit Class HtmlTaskPane
Inherits TaskPane
Dim instance As HtmlTaskPane
public abstract class HtmlTaskPane : TaskPane
Osservazioni
L'oggetto HTMLTaskPane implementa proprietà e metodi per l'utilizzo dei riquadri attività di InfoPath ed eredita inoltre le proprietà della classe TaskPane.
Le proprietà disponibili per un riquadro attività di InfoPath dipendono dal tipo di riquadro attività in uso. Se la proprietà TaskPaneType restituisce TaskPaneType.Html, il riquadro attività è un riquadro attività personalizzato e le proprietà e i metodi disponibili sono implementati dalla classe HtmlTaskPane. Se la proprietà TaskPaneType restituisce qualsiasi altro valore, il riquadro attività è un riquadro attività predefinito e le proprietà sono implementate dalla classe TaskPane.
La proprietà TaskPaneType restituisce i valori definiti dall'enumerazione TaskPaneType. Questi valori enumerati vengono inoltre utilizzati come argomenti della proprietà Item(TaskPaneType) della classe TaskPaneCollection per restituire un riferimento a un tipo di riquadro attività specificato.
Per attivare e aggiungere un riquadro attività personalizzato in un modello di modulo, creare innanzitutto uno o più file HTML e quindi aggiungerli come file di risorse scegliendo File di risorse dal menu Strumenti in modalità progettazione del modello di modulo. È quindi necessario configurare uno dei file HTML come riquadro attività personalizzato predefinito del modello di modulo, scegliendo Opzioni modulo dal menu Strumenti, facendo clic sulla categoria Programmazione e quindi selezionando la casella di controllo Utilizza riquadro attività personalizzato.
![]() |
---|
Le proprietà e i metodi dell'oggetto HtmlTaskPane non possono essere chiamati da un gestore eventi per l'evento Loading perchè quando questo evento si verifica la visualizzazione non è ancora stata caricata e i riquadri attività sono associati alla visualizzazione. |
Esempio
Nell'esempio seguente viene utilizzata la proprietà Item della classe TaskPaneCollection per ottenere un riferimento all'oggetto TaskPane che rappresenta il riquadro attività personalizzato, di cui viene eseguito il cast al tipo HtmlTaskPane. Tramite il codice viene quindi chiamato il metodo Navigate della classe HtmlTaskPane che consente di aprire un file HTML che sostituisce il file HTML corrente caricato come riquadro attività personalizzato.
// 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")
Nell'esempio seguente viene utilizzata la proprietà Item della classe TaskPaneCollection per ottenere un riferimento all'oggetto TaskPane che rappresenta il riquadro attività personalizzato. Viene quindi chiamata una funzione di script definita nel codice HTML del riquadro attività personalizzato utilizzando la proprietà HtmlDocument della classe HtmlTaskPane.
Per poter utilizzare il modello a oggetti del file HTML specificato come riquadro attività personalizzato, si utilizza il modello a oggetti implementato dalla libreria di oggetti HTML Microsoft (MSHTML.dll). Per eseguire questa operazione dal codice gestito, aggiungere un riferimento a Microsoft.mshtml nella scheda .NET della finestra di dialogo Aggiungi riferimento di Microsoft Visual Studio Tools for Applications (VSTA) o Visual Studio.
L'esempio seguente presuppone che sia presente una direttiva using mshtml;
o Imports mshtml
nella sezione delle dichiarazioni del file di codice del modulo.
// 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
Gerarchia di ereditarietà
System.Object
Microsoft.Office.InfoPath.TaskPane
Microsoft.Office.InfoPath.HtmlTaskPane
Thread Safety
Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche
Riferimenti
Membri HtmlTaskPane
Spazio dei nomi Microsoft.Office.InfoPath