Panoramica del riquadro Azioni

Un riquadro azioni è un riquadro attività azioni documento personalizzabile associato a un documento specifico di Microsoft Office Word o a una cartella di lavoro di Microsoft Office Excel. Il riquadro azioni è ospitato all'interno del riquadro attività di Office insieme ad altri riquadri attività predefiniti, ad esempio il riquadro attività Origine XML in Excel o il riquadro attività 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 si applicano ai progetti a livello di documento per Excel e Word. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.

È 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 per app Office lication e tipo di progetto.

Nota

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.

Visualizzare il riquadro azioni

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 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.

Aggiungere più controlli al riquadro azioni

Quando si aggiungono più controlli al riquadro azioni, è necessario raggruppare i controlli in un controllo utente e quindi aggiungere il controllo utente alla Controls proprietà . Questo processo include i due passaggi seguenti:

  1. Creare l'interfaccia utente del riquadro azioni aggiungendo un controllo riquadro azioni o un elemento 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. L'unica differenza è il nome.

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

    Nota

    È anche possibile aggiungere controlli WPF al riquadro azioni aggiungendo un oggetto UserControl all'oggetto UserControl di Windows Form. Per altre informazioni, vedere Usare 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 esempi che illustrano questo processo in modo più dettagliato, vedere Procedura: Aggiungere un riquadro azioni a documenti di Word o cartelle di lavoro di Excel.

Nascondere il riquadro azioni

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. La chiamata al Hide metodo o l'impostazione della Visible proprietà su false nasconde solo i controlli nel riquadro azioni e non nasconde il riquadro attività.

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

  • Per Word, impostare la Visible proprietà dell'oggetto TaskPane che rappresenta il riquadro attività Azioni documento 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 DisplayDocumentActionTaskPane proprietà 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, in alternativa, è possibile impostare la Visible proprietà 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;
    

Cancellare il riquadro azioni all'apertura del documento

Quando un utente salva il documento mentre il riquadro azioni è visibile, il riquadro azioni è visibile ogni volta che il documento viene aperto, indipendentemente dal fatto che il riquadro azioni contenga 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.

Determinare quando il riquadro azioni è chiuso

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. Questo evento viene invece generato quando i controlli nel riquadro azioni vengono nascosti chiamando il Hide metodo o impostando la Visible proprietà su false.

Quando l'utente chiude il riquadro azioni, l'utente può visualizzarlo di nuovo eseguendo una delle procedure seguenti nell'interfaccia utente 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 sul pulsante Azioni documento.In the Show/Hide group, click the Document Actions toggle button.

Eventi del riquadro Azioni programma

È 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: Eseguire il mapping degli schemi ai documenti di Word all'interno di Visual Studio e Procedura: Eseguire il mapping degli schemi ai fogli di lavoro all'interno di 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: Programma sugli eventi di un controllo NamedRange.

Associare i dati ai controlli nel riquadro azioni

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 Data binding 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: Associare dati ai controlli in un riquadro azioni di Excel.

Convalidare i dati nei controlli del riquadro azioni

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.

Ordine di stacking del controllo utente

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 dei controlli nei riquadri 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.
None 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;

Controlli di ancoraggio

Se l'utente ridimensiona il riquadro azioni in fase di esecuzione, i controlli possono essere ridimensionati con il 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: Ancorare i controlli in Windows Form.

Ridimensionare il riquadro azioni

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à Width dell'oggetto CommandBar che rappresenta il riquadro attività. È possibile modificare l'altezza del riquadro attività se è ancorato in orizzontale o se è mobile.

Non è consigliabile ridimensionare il riquadro attività a livello di codice perché l'utente deve essere in grado di selezionare le dimensioni del riquadro attività più adatte alle proprie esigenze. Tuttavia, se è necessario ridimensionare la larghezza del riquadro attività, è possibile usare il codice seguente a questo scopo.

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

Riposizionare il riquadro azioni

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à Position dell'oggetto CommandBar che rappresenta il riquadro attività.

Il riposizionamento del riquadro attività a livello di codice non è consigliato perché l'utente deve essere in grado di scegliere la posizione del riquadro attività sullo schermo più adatta alle proprie 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;

Nota

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 dei controlli nei riquadri azioni.

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

Se il riquadro attività non è ancorato, è possibile impostare le proprietà Top e Left dell'oggetto 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;
}