Architettura del controllo ToolStrip
Le classi ToolStrip e ToolStripItem forniscono un sistema flessibile e estendibile per la visualizzazione di elementi di barre degli strumenti, barre di stato e menu. Tutte le classi sono contenute nello spazio dei nomi System.Windows.Forms e nel nome contengono il prefisso "ToolStrip" (ad esempio ToolStripOverflow) oppure il suffisso "Strip" (ad esempio MenuStrip).
ToolStrip
Negli argomenti seguenti vengono descritti la classe ToolStrip e i relativi controlli derivati.
ToolStrip è la classe base astratta per MenuStrip, StatusStrip e ContextMenuStrip. Nel modello a oggetti seguente viene illustrata la gerarchia di ereditarietà di ToolStrip.
Modello a oggetti ToolStrip
È possibile accedere a tutti gli elementi in ToolStrip attraverso l'insieme Items. È possibile accedere a tutti gli elementi in ToolStripDropDownItem attraverso l'insieme DropDownItems. In una classe derivata da ToolStrip, è anche possibile utilizzare la proprietà DisplayedItems per accedere solo agli elementi attualmente visualizzati. Si tratta degli elementi non presenti attualmente in un menu di overflow.
Gli elementi seguenti sono specificamente progettati per essere pienamente compatibili con ToolStripSystemRenderer e ToolStripProfessionalRenderer in tutti gli orientamenti. Per impostazione predefinita, sono disponibili in fase di progettazione per il controllo ToolStrip:
MenuStrip
MenuStrip è il contenitore di livello superiore che sostituisce MainMenu. Fornisce inoltre la gestione dei tasti e funzionalità di interfaccia a documenti multipli. Dal punto di vista funzionale, ToolStripDropDownItem e ToolStripMenuItem vengono utilizzate insieme a MenuStrip, sebbene derivino da ToolStripItem.
Gli elementi riportati di seguito sono progettati specificamente per essere utilizzati senza problemi con ToolStripSystemRenderer e ToolStripProfessionalRenderer in tutti gli orientamenti. Per impostazione predefinita, sono disponibili in fase di progettazione per il controllo MenuStrip:
StatusStrip
StatusStrip sostituisce il controllo StatusBar. Le funzionalità speciali di StatusStrip includono un layout di tabella personalizzato, il supporto per i riquadri di ridimensionamento e di spostamento e la proprietà Spring, che consente a ToolStripStatusLabel di occupare automaticamente lo spazio disponibile.
Gli elementi riportati di seguito sono progettati specificamente per essere utilizzati senza problemi con ToolStripSystemRenderer e ToolStripProfessionalRenderer in tutti gli orientamenti. Per impostazione predefinita, sono disponibili in fase di progettazione per il controllo StatusStrip:
ContextMenuStrip
ContextMenuStrip sostituisce ContextMenu. È possibile associare un controllo ContextMenuStrip a qualsiasi controllo. Con un'azione di clic con il pulsante destro del mouse verrà automaticamente visualizzato un menu di scelta rapida. È possibile mostrare un oggetto ContextMenuStrip a livello di programmazione utilizzando il metodo Show. L'oggetto ContextMenuStrip supporta gli eventi cancellabili Opening e Closing per gestire il popolamento dinamico e scenari a selezione multipla. L'oggetto ContextMenuStrip supporta le immagini, lo stato di selezione delle voci di menu, il testo, i tasti di scelta, i tasti di scelta rapida e i menu a cascata.
Gli elementi riportati di seguito sono progettati specificamente per essere utilizzati senza problemi con ToolStripSystemRenderer e ToolStripProfessionalRenderer in tutti gli orientamenti. Per impostazione predefinita, sono disponibili in fase di progettazione per il controllo ContextMenuStrip:
Funzionalità generiche di ToolStrip
Negli argomenti seguenti vengono descritti le funzionalità e il comportamento generici per il controllo ToolStrip e i controlli derivati.
Disegno
È possibile eseguire disegni personalizzati nei controlli ToolStrip in molti modi. Come altri controlli Windows Form, i controlli ToolStrip e ToolStripItem dispongono di metodi OnPaint ed eventi Paint sottoponibili a override. Analogamente ai disegni normali, il sistema di coordinate è relativo all'area client del controllo, ovvero l'angolo superiore sinistro del controllo corrisponde a 0, 0. L'evento Paint e il metodo OnPaint per un oggetto ToolStripItem si comportano come gli altri eventi del controllo Paint.
I controlli ToolStrip forniscono inoltre l'accesso ottimizzato al rendering degli elementi e del contenitore tramite la classe ToolStripRenderer, che dispone di metodi sottoponibili a override per il disegno dello sfondo, dello sfondo dell'elemento, dell'immagine dell'elemento, della freccia dell'elemento e del testo dell'elemento, nonché del bordo di ToolStrip. Gli argomenti dell'evento per questi metodi espongono diverse proprietà ad esempio rettangoli, colori e formati testo che è possibile regolare secondo necessità.
Per regolare solo alcuni aspetti di come viene disegnato un elemento, eseguire generalmente l'override della classe ToolStripRenderer.
Se si scrive un nuovo elemento e si desidera controllare tutti gli aspetti del disegno, eseguire l'override del metodo OnPaint. Dal metodo OnPaint è possibile utilizzare i metodi della classe ToolStripRenderer.
Per impostazione predefinita, il controllo ToolStrip è a doppio buffering, traendo vantaggio dall'impostazione OptimizedDoubleBuffer.
Elemento padre
Il concetto di proprietà e elemento padre del contenitore è più complesso nei controlli ToolStrip che in altri controlli contenitori Windows Form. È necessario per supportare scenari dinamici come overflow e condivisione di elementi a discesa tra più elementi ToolStrip e per supportare la generazione di una classe ContextMenuStrip da un controllo.
Nell'elenco seguente vengono descritti i membri relativi all'assegnazione di un elemento padre e il relativo utilizzo.
La proprietà OwnerItem accede all'elemento che corrisponde all'origine dell'elemento a discesa. È simile alla proprietà SourceControl, ma anziché restituire un controllo, restituisce una classe ToolStripItem.
La proprietà SourceControl determina quale controllo è l'origine della classe ContextMenuStrip quando più controlli condividono la stessa classe ContextMenuStrip.
Il metodo GetCurrentParent è una funzione di accesso di sola lettura alla proprietà Parent. Un elemento padre differisce da un proprietario in quanto indica il controllo ToolStrip corrente restituito in cui l'elemento è visualizzato, che potrebbe essere nell'area di overflow.
La proprietà Owner restituisce il controllo ToolStrip il cui insieme Items contiene il controllo ToolStripItem corrente. Questo è il modo migliore per fare riferimento alla proprietà ImageList o ad altre proprietà nel controllo ToolStrip di livello superiore senza scrivere codice speciale per gestire l'overflow.
Comportamento dei controlli ereditati
I controlli seguenti vengono bloccati ogni volta che vengono utilizzati nell'erediterietà:
ToolStripPanel che include i pannelli in un controllo ToolStripContainer e anche i singoli controlli ToolStripPanel.
Ad esempio, creare una nuova applicazione Windows Form utilizzando uno o più controlli dell'elenco precedente. Impostare il modificatore di accesso di uno o più controlli su public o protectede quindi compilare il progetto. Aggiungere un form che eredita dal primo form, quindi selezionare un controllo ereditato. Il controllo appare bloccato e si comporta come se il proprio modificatore di accesso fosse private.
Supporto di ToolStripContainer dell'ereditarietà
Il controllo ToolStripContainer supporta scenari di ereditarietà limitati, in modo simile all'esempio seguente:
Creare una nuova applicazione Windows Form.
Aggiungere una classe ToolStripContainer al form.
Impostare il modificatore di accesso del controllo ToolStripContainer su public o protected.
Aggiungere qualsiasi combinazione di controlli ToolStrip, MenuStrip e ContextMenuStrip alle aree ToolStripPanel del controllo ToolStripContainer.
Compilare il progetto.
Aggiungere un form che eredita dal primo form.
Selezionare il controllo ToolStripContainer ereditato sul form.
Comportamento ereditato dei controlli figlio
Dopo aver completato i passaggi precedenti, si verifica il comportamento ereditato seguente:
Nella finestra di progettazione il controllo viene visualizzato con un'icona ereditata.
I controlli ToolStripPanel sono bloccati. Non è possibile selezionare né ridisporre il relativo contenuto.
È possibile aggiungere controlli al controllo ToolStripContentPanel, spostare i controlli e renderli controlli figlio del controllo ToolStripContentPanel.
Le modifiche persistono dopo la compilazione del form.
Nota
Rimuovere i modificatori di accesso da tutti i controlli ToolStripPanel che fanno parte di un controllo ToolStripContainer. Il modificatore di accesso del controllo ToolStripContainer regola l'intero controllo.
Attendibilità parziale
Le limitazioni dei controlli ToolStrip con attendibilità parziale sono progettate per impedire l'immissione accidentale di informazioni personali che potrebbero essere utilizzate da utenti o servizi non autorizzati. Di seguito sono riportate le misure protettive:
I controlli ToolStripDropDown richiedono che l'enumerazione AllWindows visualizzi gli elementi in una classe ToolStripControlHost. Ciò vale sia per i controlli intrinseci, ad esempio ToolStripTextBox, ToolStripComboBox e ToolStripProgressBar che per i controlli creati dall'utente. Se questo requisito non viene soddisfatto, gli elementi non vengono visualizzati. Non viene generata alcuna eccezione.
Non è consentito impostare la proprietà AutoClose su false e il parametro dell'evento Closing annullabile viene ignorato. In questo modo è impossibile immettere più di una sequenza di tasti senza chiudere l'elenco a discesa. Se questo requisito non viene soddisfatto, gli elementi non vengono visualizzati. Non viene generata alcuna eccezione.
Molti eventi di gestione delle sequenze di tasti non verranno generati se si verificano in contesti con attendibilità parziale diversi da AllWindows.
I tasti di scelta non vengono elaborati se non viene concessa l'enumerazione AllWindows.
Utilizzo
I modelli di utilizzo seguenti influiscono sul layout del controllo ToolStrip, sull'interazione da tastiera e sul comportamento degli utenti finali:
Unito in un controllo ToolStripPanel
ToolStrip può essere riposizionato all'interno del controllo ToolStripPanel e tra i controlli ToolStripPanel. La proprietà Dock viene ignorata e, se viene ignorata e, se Stretch la proprietà è false, le dimensioni di ToolStrip aumentano quando vengono aggiunti elementi a ToolStripPanel. In genere, ToolStrip non partecipa nell'ordine di tabulazione.
Ancorato
ToolStrip viene inserito su un lato di un contenitore in una posizione fissa e le relative dimensioni si espandono in tutto il bordo cui è ancorato. In genere, ToolStrip non partecipa nell'ordine di tabulazione.
Posizionato in modo assoluto
ToolStrip è simile ad altri controlli, in quanto viene inserito dalla proprietà Location, ha dimensioni fisse e in genere partecipa nell'ordine di tabulazione.
Interazione da tastiera
Tasti di scelta
Premuti in combinazione o dopo il tasto ALT, i tasti di scelta rappresentano una delle modalità disponibili per attivare un controllo tramite tastiera. ToolStrip supporta i tasti di scelta espliciti e impliciti. Con la definizione esplicita si utilizza un carattere e commerciale (&) anteposto alla lettera. Con la definizione implicita si utilizza un algoritmo che tenta di trovare un elemento corrispondente in base all'ordine dei caratteri in una proprietà Text specificata.
Tasti di scelta rapida
Per la definizione dei tasti di scelta rapida utilizzati da un controllo MenuStrip si utilizza una combinazione dell'enumerazione Keys (che non è specifica dell'ordine). È anche possibile utilizzare la proprietà ShortcutKeyDisplayString per visualizzare un tasto di scelta rapida con solo testo, ad esempio che visualizza "Canc" anziché "Elimina".
Spostamento
Il tasto ALT attiva il controllo MenuStrip a cui fa riferimento la proprietà MainMenuStrip. Da questo punto, la combinazione CTRL+TAB consente di spostarsi tra i controlli ToolStrip all'interno dei controlli ToolStripPanel. Il tasto TAB e i tasti di direzione del tastierino numerico consentono di spostarsi tra gli elementi di un controllo ToolStrip. Un algoritmo speciale gestisce gli spostamenti nell'area di overflow. Con la BARRA SPAZIATRICE si seleziona un controllo ToolStripButton, ToolStripDropDownButton o ToolStripSplitButton.
Stato attivo e convalida
Se attivato dal tasto ALT, il controllo MenuStrip o ToolStrip in genere non assume né rimuove lo stato attivo dal controllo cui è al momento assegnato. Se è disponibile un controllo contenuto all'interno della classe MenuStrip o un controllo a discesa della classe MenuStrip, il controllo riceve lo stato attivo quando l'utente preme il tasto TAB. In generale, è possibile che gli eventi GotFocus, LostFocus, Enter e Leave di MenuStrip non vengano generati quando vengono attivati tramite tastiera. In tali casi, utilizzare invece gli eventi MenuActivate e MenuDeactivate.
Per impostazione predefinita, il valore di CausesValidation è false. Eseguire una chiamata al metodo Validate in modo esplicito sul form per eseguire la convalida.
Layout
Per controllare il layout di ToolStrip, scegliere uno dei membri della classe ToolStripLayoutStyle con la proprietà LayoutStyle.
Layout di stack
Lo stacking è la disposizione degli elementi adiacenti alle due estremità della classe ToolStrip. Nell'elenco riportato di seguito vengono descritti i layout di stack.
StackWithOverflow è il valore predefinito. Con questa impostazione il layout di ToolStrip viene modificato automaticamente in base alla proprietà Orientation per gestire gli scenari di trascinamento e ancoraggio.
VerticalStackWithOverflow esegue il rendering degli elementi ToolStrip adiacenti in orientamento verticale.
HorizontalStackWithOverflow esegue il rendering degli elementi ToolStrip adiacenti in orientamento orizzontale.
Altre funzionalità dei layout di stack
Alignment determina la fine del ToolStrip a cui l'elemento viene allineato.
Quando gli elementi non corrispondono all'interno del ToolStrip, viene visualizzato automaticamente un pulsante di overflow. L'impostazione della proprietà Overflow determina se un elemento deve essere visualizzato o meno nell'area di overflow, in base alle necessità.
Nell'evento LayoutCompleted è possibile controllare la proprietà Placement per determinare se un elemento è stato collocato nella classe ToolStrip principale, nella classe ToolStrip di overflow o se non viene visualizzato affatto. Un elemento non viene in genere visualizzato perché non è contenuto nell'oggetto ToolStrip principale e la relativa proprietà Overflow è impostata su Never.
Rendere un ToolStrip mobile inserendolo in un ToolStripPanel e impostandone la proprietà GripStyle su Visible.
Altre opzioni di layout
Le altre opzioni di layout sono Flow e Table.
Layout di flusso
Il layout Flow è l'impostazione predefinita per ContextMenuStrip, ToolStripDropDownMenu e ToolStripOverflow. È simile alla classe FlowLayoutPanel. Le funzionalità del layout Flow sono:
Tutte le funzionalità di FlowLayoutPanel sono esposte dalla proprietà LayoutSettings. È necessario eseguire il cast della classe LayoutSettings a una classe FlowLayoutSettings.
È possibile utilizzare le proprietà Dock e Anchor nel codice per allineare gli elementi all'interno della riga.
La proprietà Alignment viene ignorata.
Nell'evento LayoutCompleted è possibile controllare la proprietà Placement per determinare se un elemento è stato collocato nella classe ToolStrip principale.
Poiché non viene eseguito il rendering del riquadro di ridimensionamento, non è possibile spostare un ToolStrip nello stile di layout Flow di un ToolStripPanel .
Non viene eseguito il rendering del pulsante di overflow ToolStrip e Overflow viene ignorato.
Layout Table
Il layout Table è l'impostazione predefinita per StatusStrip. È simile a TableLayoutPanel. Le funzionalità del layout Flow sono:
Tutte le funzionalità di TableLayoutPanel sono esposte dalla proprietà LayoutSettings. È necessario eseguire il cast della classe LayoutSettings a una classe TableLayoutSettings.
È possibile utilizzare le proprietà Dock e Anchor nel codice per allineare gli elementi all'interno della cella di tabella.
La proprietà Alignment viene ignorata.
Nell'evento LayoutCompleted è possibile controllare la proprietà Placement per determinare se un elemento è stato collocato nella classe ToolStrip principale.
Il riquadro di ridimensionamento non viene sottoposto a rendering, pertanto non è possibile spostare il controllo ToolStrip nello stile di layout Table di un controllo ToolStripPanel.
Il pulsante di overflow ToolStrip non viene sottoposto a rendering e la proprietà Overflow viene ignorata.
ToolStripItem
Negli argomenti seguenti vengono descritti la classe ToolStripItem e i relativi controlli derivati.
ToolStripItem è la classe base astratta per tutti gli elementi da inserire in un controllo ToolStrip. Nel modello a oggetti seguente viene illustrata la gerarchia di ereditarietà di ToolStripItem.
Modello a oggetti ToolStripItem
Le classi ToolStripItem ereditano direttamente da ToolStripItem o indirettamente da ToolStripItem tramite ToolStripControlHost o ToolStripDropDownItem.
I controlli ToolStripItem devono essere contenuti in un controllo ToolStrip, MenuStrip, StatusStrip o ContextMenuStrip e non possono essere aggiunti direttamente a un form. Le varie classi di contenitori sono progettate per contenere un sottoinsieme appropriato di controlli ToolStripItem.
Nella tabella seguente sono elencati i controlli ToolStripItem predefiniti e i contenitori a essi più appropriati. Pur potendo essere incluso in qualsiasi contenitore derivato da ToolStrip, ogni elemento ToolStrip è progettato espressamente per essere inserito nei contenitori seguenti:
Nota
ToolStripDropDown non è presente nella casella degli strumenti della finestra di progettazione.
Elemento contenuto |
ToolStrip |
MenuStrip |
ContextMenuStrip |
StatusStrip |
ToolStripDropDown |
---|---|---|---|---|---|
Sì |
No |
No |
No |
Sì |
|
Sì |
Sì |
Sì |
No |
Sì |
|
Sì |
No |
No |
Sì |
Sì |
|
Sì |
No |
No |
Sì |
Sì |
|
Sì |
Sì |
Sì |
No |
Sì |
|
Sì |
No |
No |
Sì |
Sì |
|
Sì |
Sì |
Sì |
No |
Sì |
|
No |
Sì |
Sì |
No |
No |
|
No |
No |
No |
Sì |
No |
|
Sì |
No |
No |
Sì |
No |
|
Sì |
Sì |
No |
Sì |
Yes |
ToolStripButton
ToolStripButton è l'elemento pulsante per ToolStrip. È possibile visualizzarlo con vari stili di bordo, nonché utilizzarlo per rappresentare e attivare gli stati operativi. È inoltre possibile definire che abbia lo stato attivo per impostazione predefinita.
ToolStripLabel
ToolStripLabel fornisce la funzionalità di etichetta nei controlli ToolStrip. ToolStripLabel è simile a ToolStripButton, che non riceve lo stato attivo per impostazione predefinita e non viene sottoposto a rendering come premuto o evidenziato.
ToolStripLabel, in quanto elemento ospitato, supporta i tasti di scelta.
Utilizzare le proprietà LinkColor, LinkVisited e LinkBehavior in una classe ToolStripLabel per supportare il controllo di collegamento in un controllo ToolStrip.
ToolStripStatusLabel
ToolStripStatusLabel è una versione di ToolStripLabel specificamente progettata per l'utilizzo in StatusStrip. Le funzionalità speciali includono BorderStyle, BorderSides e Spring.
ToolStripSeparator
La classe ToolStripSeparator aggiunge una linea verticale o orizzontale a una barra degli strumenti o un menu, a seconda dell'orientamento. Fornisce il raggruppamento o la distinzione tra elementi, ad esempio quelli di un menu.
È possibile aggiungere un controllo ToolStripSeparator in fase di progettazione scegliendolo da un elenco a discesa. È tuttavia anche possibile creare automaticamente un controllo ToolStripSeparator digitando un trattino (-) nel nodo del modello della finestra di progettazione o nel metodo Add.
ToolStripControlHost
ToolStripControlHost è la classe base astratta per ToolStripComboBox, ToolStripTextBox e ToolStripProgressBar. ToolStripControlHost può ospitare altri controlli, tra cui i controlli personalizzati, in due modi:
Creare una classe ToolStripControlHost con una classe derivata da Control. Per un accesso completo al controllo contenuto e alle proprietà, è necessario eseguire nuovamente il cast della proprietà Control sulla classe effettiva che rappresenta.
Estendere ToolStripControlHost e chiamare il costruttore della classe base nel costruttore predefinito della classe ereditata, passando una classe derivata da Control. L'opzione consente di eseguire il wrapping di proprietà e metodi di controllo comuni per l'accesso semplificato a una classe ToolStrip.
ToolStripComboBox
ToolStripComboBox è il controllo ComboBox ottimizzato per l'hosting in un controllo ToolStrip. Un sottoinsieme delle proprietà e degli eventi del controllo ospitato viene esposto al livello ToolStripComboBox, ma il controllo ComboBox sottostante è completamente accessibile tramite la proprietà ComboBox.
ToolStripTextBox
ToolStripTextBox è il controllo TextBox ottimizzato per l'hosting in un controllo ToolStrip. Un sottoinsieme delle proprietà e degli eventi del controllo ospitato viene esposto al livello ToolStripTextBox, ma il controllo TextBox sottostante è completamente accessibile tramite la proprietà TextBox.
ToolStripProgressBar
ToolStripProgressBar è il controllo ProgressBar ottimizzato per l'hosting in un controllo ToolStrip. Un sottoinsieme delle proprietà e degli eventi del controllo ospitato viene esposto al livello ToolStripProgressBar, ma il controllo ProgressBar sottostante è completamente accessibile tramite la proprietà ProgressBar.
ToolStripDropDownItem
ToolStripDropDownItem è la classe base astratta per ToolStripMenuItem, ToolStripDropDownButton e ToolStripSplitButton, che possono ospitare direttamente gli elementi o ospitare elementi aggiuntivi in un contenitore a discesa. A tale scopo, impostare la proprietà DropDown su una classe ToolStripDropDown e impostare la proprietà Items della classe ToolStripDropDown. Accedere direttamente a questi elementi a discesa tramite la proprietà DropDownItems.
ToolStripMenuItem
ToolStripMenuItem è una classe ToolStripDropDownItem che, insieme a ToolStripDropDownMenu e ContextMenuStrip, gestisce le funzionalità speciali di evidenziazione, layout e disposizione in colonna per i menu.
ToolStripDropDownButton
ToolStripDropDownButton è simile a ToolStripButton, ma visualizza un'area a discesa quando l'utente fa clic. Nascondere o mostrare la freccia a discesa impostando la proprietà ShowDropDownArrow. ToolStripDropDownButton contiene un oggetto ToolStripOverflowButton che visualizza gli elementi di overflow dell'oggetto ToolStrip.
ToolStripSplitButton
ToolStripSplitButton combina funzionalità di pulsante e pulsante a discesa.
Utilizzare la proprietà DefaultItem per sincronizzare l'evento Click dell'elemento a discesa prescelto con l'elemento visualizzato sul pulsante.
Funzionalità generiche di ToolStripItem
ToolStripItem fornisce le seguenti funzionalità e opzioni generiche ai controlli che ereditano:
Eventi principali
Gestione delle immagini
Allineamento
Relazione tra testo e immagine
Stile di visualizzazione
Eventi principali
I controlli ToolStripItem ricevono gli eventi Click, Mouse e Paint e sono in grado di eseguire anche alcune operazioni di pre-elaborazione da tastiera.
Gestione delle immagini
Le proprietà Image, ImageAlign, ImageIndex, ImageKey e ImageScaling sono relative a vari aspetti della gestione di immagini. Utilizzare le immagini nei controlli ToolStrip impostando direttamente queste proprietà o impostando la proprietà ImageList solo in fase di esecuzione.
Il ridimensionamento dell'immagine è determinato dall'interazione delle proprietà in ToolStrip e ToolStripItem, come segue:
ImageScalingSize è la scala dell'immagine finale come determinato dalla combinazione dell'impostazione ImageScaling dell'immagine e l'impostazione AutoSize del contenitore.
Se la proprietà AutoSize è true (impostazione predefinita) e la classe ToolStripItemImageScaling è SizeToFit, non si verifica alcun ridimensionamento dell'immagine e le dimensioni di ToolStrip corrispondono a quelle dell'elemento più grande oppure a una dimensione minima prestabilita.
Se la proprietà AutoSize è false e la classe ToolStripItemImageScaling è None, non si verifica il ridimensionamento dell'immagine né di ToolStrip.
Allineamento
Il valore della proprietà Alignment determina l'estremità del controllo ToolStrip in corrispondenza della quale è visualizzato un elemento. La proprietà Alignment funziona solo quando lo stile di layout del controllo ToolStrip è impostato su uno dei valori di overflow dello stack.
Gli elementi vengono inseriti sul controllo ToolStrip nell'ordine in cui appaiono nell'insieme Items. Per modificare a livello di codice la posizione in cui viene inserito un elemento, utilizzare il metodo Insert per spostare l'elemento nell'insieme. Questo metodo sposta l'elemento ma non lo duplica.
Relazione tra testo e immagine
La proprietà TextImageRelation definisce la posizione relativa dell'immagine rispetto al testo in un controllo ToolStripItem. Gli elementi senza immagine, testo o entrambi vengono considerati come casi speciali, in modo che il controllo ToolStripItem non visualizzi uno spazio vuoto al posto dell'elemento o degli elementi mancanti.
Stile di visualizzazione
La proprietà DisplayStyle consente di impostare i valori delle proprietà Text e Image di un elemento visualizzando solo gli elementi desiderati. Questa opzione viene in genere utilizzata per modificare solo lo stile di visualizzazione quando lo stesso elemento viene mostrato in un contesto diverso.
Classi accessorie
Le classi che forniscono varie altre funzionalità includono:
ToolStripManager supporta attività correlate a ToolStrip per intere applicazioni, ad esempio unione, impostazioni e opzioni di rendering.
ToolStripRenderer consente di applicare facilmente uno stile o un tema specifico a ToolStrip.
ToolStripProfessionalRenderer crea penne e pennelli in base a una tabella di colori sostituibili (ProfessionalColorTable).
ToolStripSystemRenderer applica i colori di sistema e uno stile di visualizzazione uniforme alle applicazioni ToolStrip.
ToolStripContainer è simile a SplitContainer. Utilizza quattro pannelli laterali ancorati (istanze di ToolStripPanel) e un pannello centrale (istanza di ToolStripContentPanel) per creare una disposizione tipica. Non è possibile rimuovere i pannelli laterali, ma è possibile nasconderli. Non è possibile rimuovere né nascondere il pannello centrale. È possibile disporre uno o più controlli ToolStrip, MenuStrip o StatusStrip nei pannelli laterali e utilizzare il pannello centrale per altri controlli. La classe ToolStripContentPanel consente inoltre il supporto del renderer nel corpo del form per un aspetto uniforme. ToolStripContainer non supporta l'interfaccia a più documenti.
ToolStripPanel fornisce lo spazio per spostare e disporre i controlli ToolStrip. È possibile utilizzare solo un pannello se si preferisce e ToolStripPanel è efficace negli scenari di interfaccia a documenti multipli.
Vedere anche
Riferimenti
Cenni preliminari sul controllo ToolStrip (Windows Form)
Concetti
Riepilogo della tecnologia ToolStrip
Altre risorse
Controllo ToolStrip (Windows Form)