Riepilogo della tecnologia ToolStrip
Aggiornamento: novembre 2007
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
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 |
|
Elementi ToolStrip |
|
Percorso |
|
Aspetto e rendering |
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 e Esempio ToolStrip Custom Renderer.
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
I controlli ToolStrip possono essere raggruppati in verticale/orizzontale, ancorati o posizionati in modo assoluto. Gli elementi ToolStrip sono disposti dalla proprietà 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
Attività
Concetti
Architettura del controllo ToolStrip