Riepilogo della tecnologia ToolStrip

In questo argomento vengono riepilogate le informazioni sul controllo ToolStrip e sulle classi che ne supportano l'utilizzo.

Il controllo ToolStrip e le relative classi associate forniscono una soluzione completa per la creazione di barre degli strumenti, barre di stato e menu.

Spazi dei nomi

System.Windows.Forms

Informazioni di supporto

Con il controllo ToolStrip e le relative classi associate, è possibile creare barre degli strumenti avanzate che abbiano un aspetto e un comportamento professionale e coerente. Il controllo ToolStrip e le classi associate offrono i seguenti miglioramenti rispetto ai controlli precedenti:

  • Modello eventi più coerente.

  • Comportamento in fase di progettazione più coerente grazie all'utilizzo di elenchi attività ed editor dell'insieme Items.

  • Rendering personalizzato con ToolStripManager e ToolStripRenderer.

  • Raggruppamento verticale/orizzontale, ovvero la possibilità di condividere lo spazio in orizzontale o in verticale all'interno dell'area degli strumenti quando si esegue l'ancoraggio, con ToolStripContainer e ToolStripPanel.

  • Riordinamento degli elementi in fase di progettazione e di esecuzione con la proprietà AllowItemReorder.

  • Rilocazione degli elementi in un menu di overflow con la proprietà CanOverflow.

  • Percorso del controllo completamente configurabile con ToolStripContainer, ToolStripPanel e ToolStripContentPanel.

  • Hosting dei controlli ToolStrip, sia tradizionali che personalizzati, con ToolStripControlHost.

  • Unione dei controlli ToolStrip con ToolStripPanel.

ToolStrip è la classe base estendibile per MenuStrip, ContextMenuStrip e StatusStrip. Questi controlli sono contenitori ToolStripItem che ereditano il comportamento comune e la gestione degli eventi e che vengono estesi in modo che a ciascuna implementazione venga assegnato il comportamento appropriato per la specifica implementazione. Nella tabella seguente sono elencati i controlli che derivano da ToolStripItem. La classe ToolStrip base gestisce gli eventi di disegno, input utente e trascinamento relativi a questi controlli.

I controlli ToolStrip, MenuStrip, ContextMenuStrip e StatusStrip sostituiscono i controlli relativi a barre degli strumenti, menu, menu di scelta rapida e barre di stato delle versioni precedenti, che tuttavia vengono mantenuti per ragioni di compatibilità.

Riepilogo delle classi ToolStrip

Nella tabella seguente sono elencate le classi ToolStrip raggruppate in base all'area tecnologica.

Area tecnologica

Classe

Contenitori per barre degli strumenti, barre di stato e menu

ToolStrip

MenuStrip

ContextMenuStrip

StatusStrip

ToolStripDropDownMenu

Elementi ToolStrip

ToolStripLabel

ToolStripDropDownItem

ToolStripMenuItem

ToolStripButton

ToolStripStatusLabel

ToolStripSeparator

ToolStripControlHost

ToolStripComboBox

ToolStripTextBox

ToolStripProgressBar

ToolStripDropDownButton

ToolStripSplitButton

Percorso

ToolStripContainer

ToolStripContentPanel

ToolStripPanel

Aspetto e rendering

ToolStripManager

ToolStripRenderer

ToolStripProfessionalRenderer

ToolStripRenderMode

ToolStripManagerRenderMode

Funzioni di ToolStrip in fase di progettazione

La famiglia di controlli ToolStrip fornisce una vasta gamma di strumenti e modelli per la modifica sul posto e la definizione della struttura dell'interfaccia utente, che consentono di creare rapidamente un'applicazione funzionante.

Finestre di dialogo delle attività

In Visual Studio, facendo clic sullo smart tag di un controllo nella finestra di progettazione viene visualizzato un elenco attività che consente di accedere rapidamente ai comandi utilizzati più di frequente.

Editor dell'insieme Items

In Visual Studio, quando si fa clic su Modifica elementi nell'elenco attività oppure si fa clic con il pulsante destro del mouse sul controllo e si sceglie Modifica elementi nel menu di scelta rapida, viene visualizzato l'editor dell'insieme per il controllo. Questi editor consentono di aggiungere, rimuovere e riordinare gli elementi contenuti nel controllo nonché visualizzare e modificare le proprietà del controllo e dei relativi elementi.

Controlli contenuti

La classe ToolStripControlHost fornisce wrapper incorporati per controlli ToolStripComboBox, ToolStripTextBox e ToolStripProgressBar. In una classe ToolStripControlHost è anche possibile includere un qualsiasi altro controllo esistente o COM.

Per un esempio di controlli contenuti, vedere Procedura: eseguire il wrapping di un controllo Windows Form con ToolStripControlHost.

Rendering

Nelle classi ToolStrip è implementato uno schema di rendering molto diverso da quello degli altri controlli Windows Form. Con questo schema, è possibile applicare facilmente stili e temi.

Per applicare uno stile a una classe ToolStrip e a tutti gli oggetti ToolStripItem in essa contenuti, non è necessario gestire l'evento Paint per ciascun elemento. È invece possibile impostare la proprietà RenderMode su uno dei valori di ToolStripRenderMode diversi da Custom. In alternativa, è possibile impostare la proprietà Renderer direttamente su qualsiasi classe che eredita dalla classe ToolStripRenderer. L'impostazione di questa proprietà comporta l'impostazione automatica della proprietà RenderMode.

È possibile applicare lo stesso stile a più oggetti ToolStrip nella stessa applicazione impostando la proprietà RenderMode su ManagerRenderMode e la proprietà RenderMode o Renderer sul valore ToolStripManagerRenderMode desiderato o sul valore ToolStripRenderer, rispettivamente.

Per esempi di rendering, vedere Procedura: creare e impostare un renderer personalizzato per il controllo ToolStrip in Windows Form.

Stili e temi

Il controllo ToolStrip e le classi associate consentono di supportare facilmente stili di visualizzazione e aspetto personalizzato che non richiedono l'override dei metodi OnPaint per ogni elemento. Utilizzare la proprietà DisplayStyle e le proprietà RenderMode e Renderer.

Raggruppamento verticale/orizzontale e ancoraggio

È possibile raggruppare, ancorare o posizionare in modo assoluto i controlli ToolStrip. Gli elementi ToolStrip sono disposti dalla LayoutEngine del contenitore.

Per raggruppamento verticale/orizzontale si intende la possibilità per le barre degli strumenti di condividere uno spazio orizzontale o verticale. Un Windows Form può contenere un oggetto ToolStripContainer che a sua volta contiene pannelli sui lati sinistro, destro, superiore e inferiore del form per il posizionamento e il raggruppamento verticale/orizzontale dei controlli ToolStrip, MenuStrip e StatusStrip. Più controlli ToolStrip vengono disposti in verticale se inseriti nel controllo ToolStripContainer di sinistra o di destra. Vengono disposti in orizzontale se inseriti nel controllo ToolStripContainer superiore o inferiore. È possibile utilizzare l'oggetto ToolStripContentPanel centrale di ToolStripContainer per posizionare controlli tradizionali nel form.

Alcuni o tutti i controlli ToolStripContainer possono essere selezionati direttamente in fase di progettazione e possono essere eliminati. I controlli ToolStripContainer sono espandibili e comprimibili e vengono ridimensionati in funzione dei controlli che contengono.

Per ancoraggio si intende l'indicazione della posizione semplice di un controllo sul lato sinistro, destro, superiore o inferiore del form.

Il vantaggio del raggruppamento verticale/orizzontale rispetto all'ancoraggio consiste nel fatto che i controlli ToolStrip, MenuStrip e StatusStrip possono condividere uno spazio orizzontale o verticale con altri controlli.

La maggior parte dei controlli ToolStrip può essere ancorata al form come qualsiasi altro controllo anziché mediante il raggruppamento verticale/orizzontale. È anche possibile specificare che il controllo ToolStrip venga posizionato liberamente sul form rimuovendolo dal proprio ToolStripContainer e impostando la relativa proprietà Dock su None. In alternativa, è possibile specificarne la posizione assoluta impostando la relativa proprietà Location. Per informazioni, vedere Procedura: spostare ToolStrip da ToolStripContainer a un form.

Per aumentare la flessibilità è possibile utilizzare uno o più controlli ToolStripPanel, in particolare per le applicazioni con interfaccia a documenti multipli (MDI), o quando non è necessario un ToolStripContainer. Un oggetto ToolStripPanel fornisce uno spazio ancorabile per il posizionamento e il raggruppamento orizzontale/verticale dei controlli ToolStrip ma non per quelli tradizionali. Per impostazione predefinita, ToolStripPanel non viene visualizzato nella casella degli strumenti della finestra di progettazione. Se lo si desidera, è comunque possibile fare clic con il pulsante destro del mouse sulla casella degli strumenti e scegliere Scegli elementi. È anche possibile accedere a ToolStripPanel a livello di codice come qualsiasi altra classe.

I controlli ToolStrip, MenuStrip e StatusStrip consentono l'overflow degli elementi. Questo comportamento è simile a quello che hanno questi elementi nelle barre degli strumenti di Microsoft Office.

Vedere anche

Riferimenti

Cenni preliminari sul controllo ToolStrip (Windows Form)

Concetti

Architettura del controllo ToolStrip