Condividi tramite


Procedura: Utilizzare le finestre di un modulo tramite il modello a oggetti di InfoPath 2003

Quando si utilizza un modulo di InfoPath a livello di programmazione, è possibile scrivere codice per accedere alle finestre del modulo e quindi personalizzare alcuni degli elementi contenuti in tali finestre. Il modello ai oggetti compatibile con InfoPath 2003 supporta l'accesso alle finestre di un modulo tramite l'utilizzo dell'interfaccia WindowObject insieme all'interfaccia WindowsCollection.

In InfoPath sono disponibili due tipi di finestre:

  • La finestra di modifica utilizzata quando un utente compila un modulo

  • La finestra di progettazione utilizzata quando un utente progetta un modello di modulo

Le funzionalità più utili per la scrittura di codice in un modello di modulo sono disponibili nella finestra di modifica, in quanto è possibile utilizzare un'istanza dell'oggetto WindowObject che fa riferimento a tale finestra per accedere a un'ampia gamma di proprietà e metodi che consentono di personalizzare la modifica del modulo.

Informazioni generali sull'interfaccia WindowsCollection

L'interfaccia WindowsCollection include le proprietà seguenti, che possono essere utilizzate dagli sviluppatori dei modelli di modulo per gestire le istanze degli oggetti WindowObject contenuti in tale interfaccia.

Nome Descrizione

Proprietà Count

Restituisce il numero di oggetti Window contenuti nell'insieme.

Proprietà Item

Restituisce un riferimento all'oggetto Window specificato.

Nota:
Per accedere agli insiemi in Visual C#, anziché eseguire la chiamata a Item viene utilizzato un indicizzatore, ad esempio thisApplication.Windows[0].Caption.

Informazioni generali sull'oggetto Window

L'interfaccia WindowObject include i metodi e le proprietà seguenti, che possono essere utilizzati dagli sviluppatori di moduli per interagire con una finestra di InfoPath. Il supporto per tali metodi e proprietà varia a seconda del tipo di finestra (XdWindowType) utilizzata. Alcuni metodi e proprietà funzionano solo con finestre di modifica (XdWindowType.xdEditorWindow). Gli altri funzionano sia con finestre di modifica che con finestre di progettazione (XdWindowType.xdDesignerWindow). Come per tutti i membri del modello a oggetti di InfoPath chiamati da un modello di modulo, inoltre, il supporto per i metodi e le proprietà può variare in base al livello di protezione e alle modalità di distribuzione del modulo.

Nome Descrizione Supporto tipo di finestra

Metodo Activate

Imposta la finestra come finestra corrente attiva.

Entrambi i tipi xdDesignWindow e xdEditorWindow

Proprietà Active

Restituisce un valore Boolean che indica se la finestra è la finestra corrente attiva.

Entrambi i tipi xdDesignWindow e xdEditorWindow

Proprietà Caption

Proprietà di lettura/scrittura che restituisce o imposta il testo della didascalia per la finestra rappresentata dall'oggetto Window.

Solo il tipo xdEditorWindow

Metodo Close

Chiude una finestra.

Solo il tipo xdEditorWindow

Proprietà CommandBars

Restituisce un riferimento all'oggetto CommandBars di Microsoft Office.

Entrambi i tipi xdDesignWindow e xdEditorWindow

Proprietà Height

Proprietà di lettura/scrittura di tipo long integer che specifica l'altezza della finestra rappresentata dall'oggetto Window, misurata in punti.

Entrambi i tipi xdDesignWindow e xdEditorWindow

Proprietà Left

Proprietà di lettura/scrittura di tipo long integer che specifica la posizione orizzontale della finestra rappresentata dall'oggetto Window, misurata in punti.

Entrambi i tipi xdDesignWindow e xdEditorWindow

Proprietà MailEnvelope

Restituisce un riferimento all'oggetto MailEnvelopeObject.

Solo il tipo xdEditorWindow

Proprietà TaskPanes

Restituisce un riferimento all'insieme TaskPanesCollection.

Entrambi i tipi xdDesignWindow e xdEditorWindow

Proprietà Top

Proprietà di lettura/scrittura di tipo long integer che specifica la posizione verticale della finestra rappresentata dall'oggetto Window, misurata in punti.

Entrambi i tipi xdDesignWindow e xdEditorWindow

Proprietà WindowType

Restituisce un numero che indica il tipo di finestra, in base all'enumerazione XdWindowType.

Entrambi i tipi xdDesignWindow e xdEditorWindow

Proprietà Width

Proprietà di lettura/scrittura di tipo long integer che specifica la larghezza della finestra rappresentata dall'oggetto Window, misurata in punti.

Entrambi i tipi xdDesignWindow e xdEditorWindow

Proprietà WindowState

Proprietà di lettura/scrittura di tipo XdWindowState che restituisce o imposta lo stato della finestra rappresentata dall'oggetto Window.

Entrambi i tipi xdDesignWindow e xdEditorWindow

Proprietà XDocument

Restituisce un riferimento all'oggetto _XDocument associato alla finestra.

Solo il tipo xdEditorWindow

Utilizzo delle interfacce WindowsCollection e Window

È possibile accedere all'interfaccia WindowsCollection tramite la proprietà Windows dell'interfaccia Application. Quando si utilizza l'interfaccia WindowsCollection per accedere alle finestre di un modulo, si utilizza un indicizzatore (per Visual C#) o si passa un valore long integer alla proprietà Item (per Visual Basic) per restituire un riferimento a un'istanza dell'interfaccia WindowObject. Ad esempio, il codice seguente imposta un riferimento al primo oggetto WindowObject dell'insieme WindowsCollection.

WindowObject objWindow = thisApplication.Windows[0];
Dim objWindow As WindowObject = thisApplication.Windows(0)

È tuttavia possibile accedere direttamente alla finestra aperta tramite la proprietà ActiveWindow dell'interfaccia Application senza utilizzare WindowsCollection, come illustrato nel codice seguente:

WindowObject objWindow = thisApplication.ActiveWindow;
Dim objWindow As WindowObject = thisApplication.ActiveWindow
Nota:

Quando si esegue il debug di un progetto con codice gestito di InfoPath, la proprietà ActiveWindow restituirà sempre null perché la finestra di debug è attiva.

È inoltre possibile accedere a un oggetto WindowObject utilizzando la proprietà Window dell'interfaccia View, associata al documento XML sottostante del modulo. Per accedere all'oggetto View viene utilizzata la proprietà View dell'interfaccia XDocument. Nell'esempio seguente viene impostato un riferimento all'oggetto WindowObject che è associato alla visualizzazione del documento XML sottostante di un modulo:

WindowObject objWindow = thisXDocument.View.Window;
Dim objWindow As WindowObject = thisXDocument.View.Window
Nota:

Alcuni metodi e proprietà dell'oggetto Window sono disponibili solo per la finestra di modifica. Se vengono utilizzati con la finestra di progettazione, restituiranno un errore. Nella tabella riportata più indietro in questo argomento sono elencati i metodi e le proprietà supportati per ogni tipo di finestra. È possibile utilizzare la proprietà WindowType nel codice per determinare il tipo di finestra utilizzata.