Riepilogo della tecnologia ToolStripToolStrip Technology Summary

Questo argomento riepiloga le informazioni relative al controllo ToolStrip e alle classi che ne supportano l'uso.This topic summarizes information about the ToolStrip control and the classes that support its use.

Il controllo ToolStrip e le classi associate forniscono una soluzione completa per creare barre degli strumenti, barre di stato e menu.The ToolStrip control and its associated classes provide a complete solution for creating toolbars, status bars, and menus.

Spazi dei nomiNamespaces

System.Windows.Forms

SfondoBackground

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.With the ToolStrip control and its associated classes, you can create advanced toolbar functionality that has consistent and professional appearance and behavior. Il controllo ToolStrip e le classi offrono i seguenti vantaggi rispetto ai controlli precedenti:The ToolStrip control and classes offer the following improvements over previous controls:

  • Un modello di eventi più coerente.A more consistent event model.

  • Un comportamento più coerente in fase di progettazione, contenente elenchi di attività ed editor della raccolta di elementi.A more consistent design-time behavior that contains task lists and item collection editors.

  • Rendering personalizzato con ToolStripManager e ToolStripRenderer.Custom rendering with ToolStripManager and ToolStripRenderer.

  • Raggruppamento verticale/orizzontale incorporato di funzionalità (condivisione di spazio orizzontale o verticale nell'area strumenti, se ancorata) con ToolStripContainer e ToolStripPanel.Built-in rafting (sharing of horizontal or vertical space within the tool area when docked) with the ToolStripContainer and ToolStripPanel.

  • Raggruppamento degli elementi in fase di progettazione e in fase di esecuzione con la proprietà AllowItemReorder.Design-time and run-time reordering of items with the AllowItemReorder property.

  • Rilocazione degli elementi in un menu di overflow con la proprietà CanOverflow.Relocation of items to an overflow menu with the CanOverflow property.

  • Posizione del controllo completamente configurabile con ToolStripContainer, ToolStripPanele ToolStripContentPanel.Completely configurable control location with the ToolStripContainer, ToolStripPanel, and ToolStripContentPanel.

  • Hosting di controlli ToolStrip, tradizionali o personalizzati con ToolStripControlHost.Hosting of ToolStrip, traditional, or custom controls using ToolStripControlHost.

  • Unione di controlli ToolStrip con ToolStripPanel.Merging of ToolStrip controls using ToolStripPanel.

ToolStrip è la classe base estendibile per MenuStrip, ContextMenuStrip e StatusStrip.ToolStrip is the extensible base class for MenuStrip, ContextMenuStrip, and 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.These controls are ToolStripItem containers that inherit common behavior and event handling, extended so that each implementation deals with the behavior that is appropriate for it. I controlli derivati da ToolStripItem sono elencati nella seguente tabella.Controls that derive from ToolStripItem are listed in the following table. La classe base ToolStrip gestisce il disegno, l'input utente e gli eventi di trascinamento della selezione per questi controlli.The base ToolStrip class handles painting, user input, and drag-and-drop events for these controls.

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.The ToolStrip, MenuStrip, ContextMenuStrip, and StatusStrip controls replace the previous toolbar, menu, shortcut menu, and status bar controls, although those controls are retained for backward compatibility.

Introduzione alle classi ToolStripToolStrip Classes at a Glance

La tabella seguente illustra le classi ToolStrip raggruppate per area tecnologica.The following table shows the ToolStrip classes grouped by technology area.

Area tecnologicaTechnology area ClasseClass
Contenitori di barre di stato, stati e menuToolbar, Status, and Menu containers ToolStrip

MenuStrip

ContextMenuStrip

StatusStrip

ToolStripDropDownMenu
Elementi ToolStripToolStrip items ToolStripLabel

ToolStripDropDownItem

ToolStripMenuItem

ToolStripButton

ToolStripStatusLabel

ToolStripSeparator

ToolStripControlHost

ToolStripComboBox

ToolStripTextBox

ToolStripProgressBar

ToolStripDropDownButton

ToolStripSplitButton
PercorsoLocation ToolStripContainer

ToolStripContentPanel

ToolStripPanel
Presentazione e renderingPresentation and rendering ToolStripManager

ToolStripRenderer

ToolStripProfessionalRenderer

ToolStripRenderMode

ToolStripManagerRenderMode

Funzionalità di ToolStrip in fase di progettazioneToolStrip Design-Time Features

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.The ToolStrip family of controls provides a rich set of tools and templates for in-place editing and defining the foundation of the user interface so that you can quickly create a working application.

Finestre di dialogo delle attivitàTask Dialog Boxes

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.In Visual Studio, clicking the smart tag on a control in the designer displays a task list for convenient access to many frequently used commands.

Editor della raccolta ItemsItems Collection Editors

In Visual Studio, quando si fa clic Modifica elementi sull'attività di elenco o fare clic sul controllo e si sceglie Modifica elementi nel menu di scelta rapida, viene visualizzato l'editor della raccolta per il controllo.In Visual Studio, when you click Edit Items on the task list or right-click the control and select Edit Items in the shortcut menu, the collection editor for the control is displayed. Gli Editor della raccolta permettono di aggiungere, rimuovere e riordinare gli elementi contenuti nel controllo.Collection editors let you add, remove, and reorder items that the control contains. Si possono anche visualizzare e cambiare le proprietà per il controllo e per gli elementi del controllo.You can also view and change the properties for the control and the control's items.

Hosting di controlliHosting Controls

La classe ToolStripControlHost fornisce wrapper predefiniti per i controlli ToolStripComboBox, ToolStripTextBoxe ToolStripProgressBar.The ToolStripControlHost class provides built-in wrappers for ToolStripComboBox, ToolStripTextBox, and ToolStripProgressBar controls. È anche possibile ospitare qualsiasi altri controllo esistente o COM in ToolStripControlHost.You can also host any other existing or COM control in a ToolStripControlHost.

Per un esempio di hosting del controllo, vedere procedura: eseguire il wrapping di un controllo di Windows Form con ToolStripControlHost.For an example of control hosting, see How to: Wrap a Windows Forms Control with ToolStripControlHost.

RenderingRendering

La classi ToolStrip implementano uno schema di rendering molto diverso da quello di altri controlli Windows Form.ToolStrip classes implement a rendering scheme that is significantly different from other Windows Forms controls. Con questo schema, è possibile applicare facilmente stili e temi.With this scheme, you can easily apply styles and themes.

Per applicare uno stile a ToolStrip e a tutti gli oggetti ToolStripItem in esso contenuti, non è necessario gestire l'evento Paint per ogni elemento.To apply a style to a ToolStrip and all the ToolStripItem objects it contains, you do not have to handle the Paint event for each item. È invece possibile impostare la proprietà RenderMode su un valore di ToolStripRenderMode diverso da Custom.Instead, you can set the RenderMode property to one of the ToolStripRenderMode values other than Custom. In alternativa, è possibile impostare Renderer direttamente su una classe che eredita dalla classe ToolStripRenderer.Alternatively, you can set the Renderer directly to any class that inherits from the ToolStripRenderer class. Impostando questa proprietà, viene automaticamente impostato RenderMode.Setting this property automatically sets the 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.You can apply the same style to multiple ToolStrip objects in the same application by setting the RenderMode to ManagerRenderMode and setting the RenderMode or Renderer property to ToolStripManagerRenderMode that you want or ToolStripRenderer value, respectively.

Per esempi di rendering, vedere procedura: creare e impostare un Renderer personalizzato per il controllo ToolStrip in Windows Form.For examples of rendering, see How to: Create and Set a Custom Renderer for the ToolStrip Control in Windows Forms.

Stili e temiStyles and Themes

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.ToolStrip and associated classes provide an easy way to support visual styles and custom appearance that do not require overriding the OnPaint methods for each item. Usare le proprietà DisplayStyle, RenderMode e Renderer.Use the DisplayStyle and the RenderMode and Renderer properties.

Raggruppamento e ancoraggioRafting and Docking

È possibile raggruppare, ancorare o posizionare in modo assoluto i controlli ToolStrip.You can raft, dock, or absolutely position ToolStrip controls. Gli elementi ToolStrip vengono disposti in base alla proprietà LayoutEngine del contenitore.ToolStrip items are laid out by the LayoutEngine of the container.

Raggruppamento verticale/orizzontale è la capacità delle barre degli strumenti di condividere lo spazio orizzontale o verticale.Rafting is the ability of toolbars to share horizontal or vertical space. 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.A Windows form can have a ToolStripContainer that in turn has panels on the form's left, right, top, and bottom sides for positioning and rafting ToolStrip, MenuStrip, and StatusStrip controls. Più controlli ToolStrip vengono raggruppati verticalmente se li si inserisce nell'oggetto ToolStripContainer di sinistra o di destra.Multiple ToolStrip controls stack vertically if you put them in the left or right ToolStripContainer. Vengono raggruppati orizzontalmente se li si inserisce nell'oggetto ToolStripContainer in alto o in basso.They stack horizontally if you put them in the top or bottom ToolStripContainer. È possibile usare l'oggetto ToolStripContentPanel centrale di ToolStripContainer per posizionare i tradizionali controlli sul form.You can use the central ToolStripContentPanel of the ToolStripContainer to position traditional controls on the form.

Alcuni o tutti i controlli ToolStripContainer sono direttamente selezionabili in fase di progettazione e possono essere eliminati.Any or all ToolStripContainer controls are directly selectable at design time and can be deleted. ToolStripContainer è estendibile e comprimibile e viene ridimensionato con i controlli in esso contenuti.A ToolStripContainer is expandable and collapsible, and resizes with the controls that it contains.

Ancoraggio si intende l'indicazione semplice di un controllo posizione di sul sinistra, destra, superiore o lato inferiore del form.Docking is the specifying of a control's simple location on the form's left, right, top, or bottom side.

Il vantaggio del raggruppamento rispetto all'ancoraggio è che i controlli ToolStrip, MenuStrip e StatusStrip possono condividere lo spazio orizzontale o verticale con altri controlli.The advantage of rafting over docking is that ToolStrip, MenuStrip, and StatusStrip controls can share horizontal or vertical space with other controls.

La maggior parte dei controlli ToolStrip può essere ancorata al form come gli altri controlli, invece di usare il raggruppamento.Most of the ToolStrip controls can be docked to the form like other controls instead of using rafting. 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.You can also specify that a ToolStrip control be freely positioned on the form by removing it from its ToolStripContainer and setting its Dock property to None, or you can specify its absolute position by setting the respective Location property. Visualizzare procedura: spostare ToolStrip da ToolStripContainer a un Form.See How to: Move a ToolStrip Out of a ToolStripContainer onto a Form.

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.Use one or more ToolStripPanel controls for more flexibility, especially for Multiple Document Interface (MDI) applications, or if you do not need a ToolStripContainer. ToolStripPanel fornisce uno spazio ancorabile in cui posizionare e ancorare i controlli ToolStrip, ma non i controlli tradizionali.A ToolStripPanel provides a dockable space for locating and rafting ToolStrip controls but not traditional controls. Per impostazione predefinita, il ToolStripPanel non viene visualizzata nella finestra di progettazione della casella degli strumenti, ma è possibile inserire in tale posizione facendo clic con il della casella degli strumenti, quindi fare clic su Scegli elementi.By default, the ToolStripPanel does not appear in the designer Toolbox, but you can put it there by right-clicking the Toolbox, and then click Choose Items. Si può accedere a ToolStripPanel anche a livello di codice, come a qualsiasi altra classe.You can also programmatically access the ToolStripPanel like any other class.

ToolStrip, MenuStrip e StatusStrip consentono l'overflow degli elementi.The ToolStrip, MenuStrip, and StatusStrip let items overflow. Il comportamento di questi elementi è simile a quello che hanno sulle barre degli strumenti di Microsoft Office.This is similar to the way these items behave on Microsoft Office toolbars.

Vedere ancheSee Also

Panoramica sul controllo ToolStripToolStrip Control Overview
Architettura del controllo ToolStripToolStrip Control Architecture