Riepilogo della tecnologia ToolStrip
Questo argomento riepiloga le informazioni relative al controllo ToolStrip
e alle classi che ne supportano l'uso.
Il controllo ToolStrip
e le classi associate forniscono una soluzione completa per creare barre degli strumenti, barre di stato e menu.
Namespaces (Spazi dei nomi)
Background
Con il controllo ToolStrip
e le classi associate, è possibile creare funzionalità avanzate della barra degli strumenti con un aspetto e un comportamento coerenti e professionali. Il controllo ToolStrip
e le classi offrono i seguenti vantaggi rispetto ai controlli precedenti:
Un modello di eventi più coerente.
Un comportamento più coerente in fase di progettazione, contenente elenchi di attività ed editor della raccolta di elementi.
Rendering personalizzato con
ToolStripManager
eToolStripRenderer
.Raggruppamento verticale/orizzontale incorporato di funzionalità (condivisione di spazio orizzontale o verticale nell'area strumenti, se ancorata) con
ToolStripContainer
eToolStripPanel
.Raggruppamento degli elementi in fase di progettazione e in fase di esecuzione con la proprietà AllowItemReorder.
Rilocazione degli elementi in un menu di overflow con la proprietà CanOverflow.
Posizione del controllo completamente configurabile con
ToolStripContainer
,ToolStripPanel
eToolStripContentPanel
.Hosting di controlli
ToolStrip
, tradizionali o personalizzati conToolStripControlHost
.Unione di controlli
ToolStrip
conToolStripPanel
.
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, estesi in modo tale che ogni implementazione gestisca il comportamento appropriato. I controlli derivati da ToolStripItem sono elencati nella seguente tabella. La classe base ToolStrip
gestisce il disegno, l'input utente e gli eventi di trascinamento della selezione per questi controlli.
I controlli ToolStrip
, MenuStrip
, ContextMenuStrip
e StatusStrip
sostituiscono le barre degli strumenti, i menu, i menu di scelta rapida e le barre di stato precedenti, anche se tali controlli vengono mantenuti per compatibilità con le versioni precedenti.
Introduzione alle classi ToolStrip
La tabella seguente illustra le classi ToolStrip raggruppate per area tecnologica.
Area tecnologica | Classe |
---|---|
Contenitori di barre di stato, stati e menu | ToolStrip MenuStrip ContextMenuStrip StatusStrip ToolStripDropDownMenu |
Elementi ToolStrip | ToolStripLabel ToolStripDropDownItem ToolStripMenuItem ToolStripButton ToolStripStatusLabel ToolStripSeparator ToolStripControlHost ToolStripComboBox ToolStripTextBox ToolStripProgressBar ToolStripDropDownButton ToolStripSplitButton |
Titolo | ToolStripContainer ToolStripContentPanel ToolStripPanel |
Presentazione e rendering | ToolStripManager ToolStripRenderer ToolStripProfessionalRenderer ToolStripRenderMode ToolStripManagerRenderMode |
Funzionalità di ToolStrip in fase di progettazione
La famiglia di controlli ToolStrip offre un'ampia gamma di strumenti e modelli per la modifica sul posto e la definizione degli elementi fondamentali dell'interfaccia utente, per poter 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 di attività che permette di accedere facilmente a molti comandi usati di frequente.
Editor della raccolta Items
In Visual Studio, quando si fa clic su Modifica elementi nell'elenco attività o si fa clic con il pulsante destro del mouse sul controllo e si seleziona Modifica elementi nel menu di scelta rapida, viene visualizzato l'editor della raccolta per il controllo. Gli Editor della raccolta permettono di aggiungere, rimuovere e riordinare gli elementi contenuti nel controllo. Si possono anche visualizzare e cambiare le proprietà per il controllo e per gli elementi del controllo.
Hosting di controlli
La classe ToolStripControlHost fornisce wrapper predefiniti per i controlli ToolStripComboBox, ToolStripTextBoxe ToolStripProgressBar. È anche possibile ospitare qualsiasi altri controllo esistente o COM in ToolStripControlHost.
Per un esempio di hosting dei controlli, vedere Procedura: Eseguire il wrapping di un controllo Windows Form con ToolStripControlHost.
Rendering
La classi ToolStrip implementano uno schema di rendering molto diverso da quello di altri controlli Windows Form. Con questo schema, è possibile applicare facilmente stili e temi.
Per applicare uno stile a ToolStrip e a tutti gli oggetti ToolStripItem in esso contenuti, non è necessario gestire l'evento Paint per ogni elemento. È invece possibile impostare la proprietà RenderMode su un valore di ToolStripRenderMode diverso da Custom. In alternativa, è possibile impostare Renderer direttamente su una classe che eredita dalla classe ToolStripRenderer. Impostando questa proprietà, viene automaticamente impostato RenderMode.
È possibile applicare lo stesso stile a più oggetti ToolStrip nella stessa applicazione impostando RenderMode su ManagerRenderMode e impostando la proprietà RenderMode o Renderer rispettivamente sul valore ToolStripManagerRenderMode desiderato o sul valore ToolStripRenderer.
Per esempi di rendering, vedere Procedura: Creare e impostare un renderer personalizzato per il controllo ToolStrip in Windows Form.
Stili e temi
ToolStrip e le classi associate permettono di supportare facilmente stili di visualizzazione e un aspetto personalizzato che non richiedono l'override dei metodi OnPaint per ogni elemento. Usare le proprietà DisplayStyle, RenderMode e Renderer.
Raggruppamento e ancoraggio
È possibile raggruppare, ancorare o posizionare in modo assoluto i controlli ToolStrip. Gli elementi ToolStrip vengono disposti in base alla proprietà LayoutEngine del contenitore.
Il Valore Dio è la capacità delle barre degli strumenti di condividere lo spazio orizzontale o verticale. Un Windows Form può contenere un oggetto ToolStripContainer che a sua volta contiene dei pannelli sui lati sinistro, destro, superiore e inferiore del form per posizionare e raggruppare i controlli ToolStrip, MenuStrip e StatusStrip. Più controlli ToolStrip vengono raggruppati verticalmente se li si inserisce nell'oggetto ToolStripContainer di sinistra o di destra. Vengono raggruppati orizzontalmente se li si inserisce nell'oggetto ToolStripContainer in alto o in basso. È possibile usare l'oggetto ToolStripContentPanel centrale di ToolStripContainer per posizionare i tradizionali controlli sul form.
Alcuni o tutti i controlli ToolStripContainer sono direttamente selezionabili in fase di progettazione e possono essere eliminati. ToolStripContainer è estendibile e comprimibile e viene ridimensionato con i controlli in esso contenuti.
L'ancoraggio è la specifica della posizione semplice di un controllo sul lato sinistro, destro, superiore o inferiore del modulo.
Il vantaggio del raggruppamento rispetto all'ancoraggio è che i controlli ToolStrip, MenuStrip e StatusStrip possono condividere lo spazio orizzontale o verticale con altri controlli.
La maggior parte dei controlli ToolStrip può essere ancorata al form come gli altri controlli, invece di usare il raggruppamento. Si può anche specificare che un ToolStrip controllo possa essere liberamente posizionato sul form rimuovendolo dall'oggetto ToolStripContainer e impostandone la proprietà Dock
su None
oppure se ne può specificare la posizione assoluta impostando la rispettiva proprietà Location. Vedere Procedura: Spostare un oggetto ToolStrip all'esterno di un toolStripContainer in un modulo.
Usare uno o più controlli ToolStripPanel per avere più flessibilità, soprattutto per le applicazioni con interfaccia a documenti multipli (MDI) o se non è necessario un oggetto ToolStripContainer. ToolStripPanel fornisce uno spazio ancorabile in cui posizionare e ancorare i controlli ToolStrip, ma non i controlli tradizionali. Per impostazione predefinita, l'oggetto ToolStripPanel non viene visualizzato nella casella degli strumenti della finestra di progettazione, ma è possibile inserirlo facendo clic con il pulsante destro del mouse sulla Casella degli strumenti e quindi scegliere Scegli elementi. Si può accedere a ToolStripPanel anche a livello di codice, come a qualsiasi altra classe.
ToolStrip, MenuStrip e StatusStrip consentono l'overflow degli elementi. Il comportamento di questi elementi è simile a quello che hanno sulle barre degli strumenti di Microsoft Office.
Vedi anche
.NET Desktop feedback