Procedura: Utilizzare le finestre di un modulo

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 a oggetti di InfoPath incluso nello spazio dei nomi Microsoft.Office.InfoPath supporta l'accesso alle finestre del modulo tramite l'associazione delle classi Window e WindowCollection.

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 oggetto Window che rappresenta la finestra corrente per accedere a un'ampia gamma di proprietà e metodi che consentono di personalizzare la modifica del modulo.

Informazioni generali sulla classe WindowsCollection

La classe WindowsCollection include le proprietà seguenti, che possono essere utilizzate dagli sviluppatori dei modelli di modulo per gestire gli oggetti Window contenuti in tale classe.

Nome Descrizione

Proprietà Count

Ottiene il numero di oggetti Window contenuti nell'insieme.

Proprietà Item

Ottiene un riferimento all'oggetto Window specificato.

Informazioni generali sulla classe Window

La classe Window 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 (WindowType) utilizzata. Alcuni metodi e proprietà funzionano solo con finestre di modifica WindowType.Editor). Gli altri funzionano sia con finestre di modifica che con finestre di progettazione (WindowType.Designer). 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

Attiva la finestra.

Entrambi i tipi Designer e Editor

Proprietà Active

Ottiene un valore Boolean che indica se la finestra è attiva.

Entrambi i tipi Designer e Editor

Proprietà Caption

Ottiene o imposta il testo della didascalia per la finestra rappresentata dall'oggetto Window.

Solo il tipo Editor

Metodo Close

Chiude la finestra in cui viene chiesto se si desidera salvare le modifiche a un modulo non salvato o con modifiche non salvate.

Solo il tipo Editor

Metodo Close

Chiude la finestra e, facoltativamente, forza la chiusura di un modulo non salvato o con modifiche non salvate senza eseguire il salvataggio.

Solo il tipo Editor

Proprietà CommandBars

Ottiene un riferimento all'insieme CommandBars di Microsoft Office associato alla finestra.

Entrambi i tipi Designer e Editor

Proprietà Height

Ottiene o imposta l'altezza della finestra, misurata in punti.

Entrambi i tipi Designer e Editor

Proprietà Left

Ottiene o imposta la posizione orizzontale della finestra, misurata in punti.

Entrambi i tipi Designer e Editor

Proprietà MailEnvelope

Ottiene un riferimento alla classe MailEnvelope.

Solo il tipo Editor

Proprietà TaskPanes

Ottiene un riferimento all'insieme TaskPaneCollection.

Entrambi i tipi Designer e Editor

Proprietà Top

Ottiene o imposta la posizione verticale della finestra, misurata in punti.

Entrambi i tipi Designer e Editor

Proprietà Width

Ottiene o imposta la larghezza della finestra, misurata in punti.

Entrambi i tipi Designer e Editor

Proprietà WindowState

Ottiene o imposta lo stato della finestra come valore WindowState.

Entrambi i tipi Designer e Editor

Proprietà WindowType

Ottiene il tipo della finestra come valore di enumerazione WindowType.

Entrambi i tipi Designer e Editor

Proprietà XmlForm

Restituisce un riferimento all'oggetto XmlForm associato alla finestra.

Solo il tipo Editor

Utilizzo delle classi WindowsCollection e Window

È possibile accedere alla classe WindowsCollection tramite la proprietà Windows della classe Application. Per accedere alle finestre di un modulo tramite la classe WindowsCollection, si utilizza un indicizzatore per Visual C# o si passa un valore intero lungo alla proprietà Item per Visual Basic al fine di restituire un riferimento a un'istanza dell'oggetto Window. Nell'esempio seguente viene impostato un riferimento al primo oggetto Window contenuto nell'insieme WindowsCollection per la sessione corrente di InfoPath.

Window myWindow = this.Application.Windows[0];
Dim myWindow As Window = Me.Application.Windows(0)

È tuttavia possibile accedere direttamente alla finestra aperta tramite la proprietà ActiveWindow della classe Application, senza utilizzare WindowsCollection, come illustrato nella riga di codice seguente:

Window myWindow = this.Application.ActiveWindow;
Dim myWindow As Window = Me.Application.ActiveWindow

È inoltre possibile accedere a un oggetto Window tramite la proprietà Window della classe View, che rappresenta la visualizzazione corrente utilizzata per il documento XML sottostante del modulo. La proprietà CurrentView della classe XmlForm viene utilizzata per accedere a un oggetto View che rappresenta la visualizzazione corrente. Nell'esempio seguente viene impostato un riferimento alla classe Window associata alla visualizzazione corrente.

Window myWindow = this.CurrentView.Window;
Dim myWindow As Window = Me.CurrentView.Window
Nota:

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