Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Cenni preliminari sul riquadro delle azioni

 

Un riquadro azioni è un riquadro attività Azioni documenti personalizzabile collegato a una cartella di lavoro di Microsoft Office Excel o a un documento di Microsoft Office Word specifico. Un riquadro azioni è ospitato all'interno del riquadro attività di Office insieme ad altri riquadri attività predefiniti come il riquadro attività Origine XML in Excel o Stili e formattazione in Word. È possibile usare controlli Windows Form o controlli WPF per progettare l'interfaccia utente del riquadro azioni.

Si applica a: le informazioni contenute in questo argomento sono valide per i progetti a livello di documento per Excel e Word. Per altre informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.

È possibile creare un riquadro azioni solo in una personalizzazione a livello di documento per Word o Excel. Non è possibile cerare un riquadro azioni in un componente aggiuntivo VSTO. Per altre informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.

System_CAPS_noteNota

Il riquadro azioni è diverso dai riquadri attività. I riquadri attività personalizzati sono associati all'applicazione e non a un documento specifico. È possibile creare riquadri attività personalizzati in componenti aggiuntivi VSTO per alcune applicazioni di Microsoft Office. Per altre informazioni, vedere Riquadri attività personalizzati.

Collegamento a video Per una dimostrazione video correlata, vedere Procedura: Usare controlli WPF all'interno di un riquadro azioni di Excel.

Il riquadro azioni è rappresentato dalla classe ActionsPane. Quando si crea un progetto a livello di documento, un'istanza di questa classe è disponibile per il codice usando il campo ActionsPane della classe ThisWorkbook (per Excel) o ThisDocument (per Word) nel progetto. Per visualizzare il riquadro azioni, aggiungere un controllo Windows Form alla proprietà Controls del campo ActionsPane. L'esempio di codice seguente aggiunge un controllo denominato actions al riquadro azioni.

this.ActionsPane.Controls.Add(actions);

Il riquadro azioni diventa visibile in fase di esecuzione non appena vi si aggiunge in modo esplicito un controllo. Dopo che il riquadro azioni viene visualizzato, è possibile aggiungere o rimuovere dinamicamente controlli in risposta alle azioni dell'utente. In genere, è necessario aggiungere il codice per visualizzare il riquadro azioni nel gestore eventi Startup di ThisDocument o ThisWorkbook in modo che il riquadro azioni sia visibile quando l'utente apre per la prima volta il documento. Potrebbe tuttavia essere necessario visualizzare il riquadro azioni solo in risposta all'azione di un utente nel documento. Ad esempio, è possibile aggiungere il codice all'evento Click di un controllo nel documento.

Se si aggiungono più controlli al riquadro azioni, nella maggior parte dei casi è consigliabile raggruppare i controlli in un controllo utente e quindi aggiungere il controllo utente alla proprietà Controls. Questo processo include i due passaggi seguenti:

  1. Creare l'interfaccia utente (UI) del riquadro azioni aggiungendo un elemento Controllo riquadro azioni o Controllo utente al progetto. Entrambi questi elementi includono una classe UserControl personalizzata di Windows Form. Gli elementi Controllo riquadro azioni e Controllo utente sono equivalenti e l'unica differenza è il nome.

  2. Aggiungere controlli Windows Form a UserControl usando la finestra di progettazione o scrivendo codice.

    System_CAPS_noteNota

    È anche possibile aggiungere controlli WPF al riquadro azioni aggiungendo un oggetto System.Windows.Controls.UserControl all'oggetto UserControl di Windows Form. Per altre informazioni, vedere Utilizzo dei controlli WPF nelle soluzioni Office.

  3. Aggiungere un'istanza del controllo utente personalizzato ai controlli contenuti nel campo ActionsPane della classe ThisWorkbook (per Excel) o ThisDocument (per Word) nel progetto.

Per alcuni esempi che descrivono questo processo in modo più dettagliato, vedere Procedura: aggiungere un riquadro ai documenti Word o alle cartelle di lavoro di Excel.

Benché la classe ActionsPane includa un metodo Hide e una proprietà Visible, non è possibile rimuovere il riquadro azioni dall'interfaccia utente usando membri della classe ActionsPane stessa. Se si chiama il metodo Hide o si imposta la proprietà Visible su false, vengono nascosti solo i controlli nel riquadro azioni, ma non il riquadro attività stesso.

Per nascondere il riquadro attività nella soluzione, sono disponibili diverse opzioni:

  • Per Word, impostare la proprietà P:Microsoft.Office.Interop.Word.TaskPane.Visible dell'oggetto T:Microsoft.Office.Interop.Word.TaskPane che rappresenta il riquadro attività Azioni documenti su false. L'esempio di codice seguente deve essere eseguito dalla classe ThisDocument nel progetto.

    this.Application.TaskPanes[Word.WdTaskPanes.wdTaskPaneDocumentActions].Visible = false;
    
  • Per Excel, impostare la proprietà DisplayDocumentActionTaskPane dell'oggetto Application su false. L'esempio di codice seguente deve essere eseguito dalla classe ThisWorkbook nel progetto.

    this.Application.DisplayDocumentActionTaskPane = false;
    
  • Per Word o Excel, come alternativa è possibile impostare la proprietà P:Microsoft.Office.Core.CommandBar.Visible della barra dei comandi che rappresenta il riquadro attività su false. L'esempio di codice seguente deve essere eseguito dalla classe ThisDocument o ThisWorkbook nel progetto.

    this.Application.CommandBars["Task Pane"].Visible = false;
    

Se l'utente salva il documento mentre il riquadro azioni è visibile, questo è visibile ogni volta che il documento viene aperto, sia che contenga o meno controlli. Per controllare i momenti in cui viene visualizzato, chiamare il metodo Clear del campo ActionsPane nel gestore eventi Startup di ThisDocument o ThisWorkbook per fare in modo che il riquadro azioni non sia visibile all'apertura del documento.

Quando il riquadro azioni viene chiuso, non viene generato alcun evento. Benché la classe ActionsPane includa un evento VisibleChanged, questo evento non viene generato quando l'utente finale chiude il riquadro azioni. L'evento viene invece generato quando i controlli nel riquadro azioni vengono nascosti chiamando il metodo Hide o impostando la proprietà Visible su false.

Se l'utente finale chiude il riquadro azioni, può visualizzarlo di nuovo eseguendo una delle procedure seguenti nell'interfaccia utente (UI) dell'applicazione.

Per visualizzare il riquadro azioni usando l'interfaccia utente di Word o Excel

  1. Sulla barra multifunzione fare clic sulla scheda Visualizza.

  2. Nel gruppo Mostra/Nascondi fare clic sull'interruttore Azioni documenti.

È possibile aggiungere più controlli utente al riquadro azioni e quindi scrivere codice in risposta a eventi nel documento mostrando e nascondendo i controlli utente. Se si esegue il mapping di elementi XML Schema al documento, è possibile mostrare determinati controlli utente nel riquadro azioni ogni volta che il punto di inserimento si trova all'interno di uno degli elementi XML. Per altre informazioni, vedere Procedura: effettuare il mapping degli schemi a documenti di Word in Visual Studio e Procedura: mappare schemi a fogli di lavoro in Visual Studio.

È anche possibile scrivere codice per rispondere agli eventi di qualsiasi oggetto, tra cui controlli host, applicazioni o eventi del documento. Per altre informazioni, vedere Procedura dettagliata: programmazione per eventi di un controllo NamedRange.

I controlli nel riquadro azioni hanno le stesse caratteristiche di data binding di quelli in Windows Form. È possibile associare i controlli a origini dati come set di dati, set di dati tipizzati e XML. Per altre informazioni, vedere Associazione dati e Windows Form.

È possibile associare controlli nel riquadro azioni e controlli nel documento allo stesso set di dati. Ad esempio, è possibile creare una relazione master/dettaglio tra i controlli nel riquadro azioni e i controlli nel foglio di lavoro. Per altre informazioni, vedere Procedura dettagliata: associazione di dati a controlli in un riquadro delle azioni di Excel.

Se si visualizza una finestra di messaggio nel gestore eventi Validating di un controllo nel riquadro azioni, l'evento potrebbe essere generato una seconda volta quando lo stato attivo passa dal controllo alla finestra di messaggio. Per evitare questo problema, usare un controllo ErrorProvider per visualizzare eventuali messaggi di errore di convalida.

Se si usano più controlli utente, è possibile scrivere codice per sovrapporre correttamente i controlli utenti nel riquadro azioni, quando è ancorato in verticale o in orizzontale. È possibile impostare l'ordine di sovrapposizione nel riquadro azioni usando l'enumerazione StackStyle della proprietà StackOrder. Per altre informazioni, vedere Procedura: gestire il layout di controllo dei riquadri delle azioni.

La proprietà StackOrder può accettare i valori dell'enumerazione StackStyle seguenti.

Stile di sovrapposizione

Definizione

FromBottom

Sovrapposizione dal basso del riquadro azioni.

FromLeft

Sovrapposizione dal lato sinistro del riquadro azioni.

FromRight

Sovrapposizione dal lato destro del riquadro azioni.

FromTop

Sovrapposizione dall'alto del riquadro azioni.

Nessuno

Nessun ordine di sovrapposizione definito. L'ordine è controllato dallo sviluppatore.

Il codice seguente imposta la proprietà StackOrder per ordinare i controlli utente dall'alto del riquadro azioni.

this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;

Se l'utente ridimensiona il riquadro azioni in fase di esecuzione, i controlli possono essere ridimensionati insieme al riquadro azioni. È possibile usare la proprietà Anchor di un controllo Windows Form per ancorare i controlli al riquadro azioni. È anche possibile ancorare i controlli Windows Form nel controllo utente allo stesso modo. Per altre informazioni, vedere Procedura: agganciare i controlli in Windows Form.

Non è possibile modificare direttamente le dimensioni di un oggetto ActionsPane perché ActionsPane è incorporato nel riquadro attività. È tuttavia modificare a livello di codice la larghezza del riquadro attività impostando la proprietà P:Microsoft.Office.Core.CommandBar.Width dell'oggetto T:Microsoft.Office.Core.CommandBar che rappresenta il riquadro attività. È possibile modificare l'altezza del riquadro attività se è ancorato in orizzontale o se è mobile.

Il ridimensionamento del riquadro attività a livello di codice è in genere sconsigliato, perché l'utente dovrebbe poter selezionare le dimensioni del riquadro attività più adatte alle sue esigenze. Tuttavia, se è necessario ridimensionare la larghezza del riquadro attività, è possibile usare il codice seguente a questo scopo.

this.CommandBars["Task Pane"].Width = 200;

Non è possibile riposizionare direttamente l'oggetto ActionsPane perché è incorporato nel riquadro attività. È tuttavia possibile spostare il riquadro attività a livello di codice impostando la proprietà P:Microsoft.Office.Core.CommandBar.Position dell'oggetto T:Microsoft.Office.Core.CommandBar che rappresenta il riquadro attività.

Il riposizionamento del riquadro attività a livello di codice è in genere sconsigliato, perché l'utente dovrebbe poter scegliere la posizione del riquadro attività più adatta alle sue esigenze. Tuttavia, se è necessario spostare il riquadro attività in una posizione specifica, è possibile usare il codice seguente a questo scopo.

this.CommandBars["Task Pane"].Position =
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft;
System_CAPS_noteNota

Gli utenti finali possono riposizionare manualmente il riquadro attività in qualsiasi momento. Non esiste alcun modo per garantire che il riquadro attività resti ancorato nella posizione indicata a livello di codice. Tuttavia, è possibile controllare le modifiche di orientamento e garantire che i controlli nel riquadro azioni siano sovrapposti nella direzione corretta. Per altre informazioni, vedere Procedura: gestire il layout di controllo dei riquadri delle azioni.

L'impostazione delle proprietà Top e Left di ActionsPane non comporta la modifica della posizione, perché l'oggetto ActionsPane è incorporato nel riquadro attività.

Se il riquadro attività non è ancorato, è possibile impostare le proprietà P:Microsoft.Office.Core.CommandBar.Top e P:Microsoft.Office.Core.CommandBar.Left dell'oggetto T:Microsoft.Office.Core.CommandBar che rappresenta il riquadro attività. Il codice seguente sposta un riquadro attività non ancorato nell'angolo superiore sinistro del documento.

if (this.CommandBars["Task Pane"].Position == 
    Microsoft.Office.Core.MsoBarPosition.msoBarFloating)
{
    this.CommandBars["Task Pane"].Top = 0;
    this.CommandBars["Task Pane"].Left = 0;
}
Mostra: