Resumo da tecnologia de ToolStrip

Este tópico resume as informações sobre o controle ToolStrip e as classes que dão suporte ao seu uso.

O controle ToolStrip e suas classes associadas fornecem uma solução completa para a criação de menus, barras de ferramentas e barras de status.

Namespaces

System.Windows.Forms

Tela de fundo

Com o controle ToolStrip e suas classes associadas, você pode criar a funcionalidade de ferramentas avançada com aparência e comportamento profissional e consistente. O controle ToolStrip e as classes oferecem os seguintes aperfeiçoamentos em relação aos controles anteriores:

  • Um modelo de evento mais consistente.

  • Um comportamento de tempo de design mais consistente que contém listas de tarefas e editores de coleção de item.

  • Renderização personalizada com ToolStripManager e ToolStripRenderer.

  • Reposicionamento interno (compartilhamento de espaço horizontal ou vertical dentro da área de ferramenta quando encaixado) com ToolStripContainer e ToolStripPanel.

  • Reordenação em tempo de design e tempo de execução de itens com a AllowItemReorder propriedade.

  • Realocação de itens para um menu de estouro com a CanOverflow propriedade.

  • Local do controle completamente configurável com ToolStripContainer, ToolStripPanel e ToolStripContentPanel.

  • Hospedagem controles ToolStrip, tradicionais ou personalizados usando ToolStripControlHost.

  • Mesclagem de controles ToolStrip usando ToolStripPanel.

ToolStrip é a classe base extensível para MenuStrip, ContextMenuStrip e StatusStrip. Esses controles são ToolStripItem contêineres que herdam o comportamento comum e o tratamento de eventos, estendidos para que cada implementação lide com o comportamento apropriado para ela. Os controles derivados de ToolStripItem estão listados na tabela a seguir. A classe ToolStrip base manipula eventos do tipo "arrastar e soltar", entrada do usuário e pintura para esses controles.

Os controles ToolStrip, MenuStrip, ContextMenuStrip e StatusStrip substituem a barra de ferramentas anterior, menu, menu de atalho e controles da barra de status, embora esses controles sejam mantidos para compatibilidade com versões anteriores.

Visão geral das classes de ToolStrip

A tabela a seguir mostra as classes de ToolStrip agrupadas por área de tecnologia.

Área de tecnologia Classe
Contêineres de Menu, status e barra de ferramentas ToolStrip

MenuStrip

ContextMenuStrip

StatusStrip

ToolStripDropDownMenu
Itens de ToolStrip ToolStripLabel

ToolStripDropDownItem

ToolStripMenuItem

ToolStripButton

ToolStripStatusLabel

ToolStripSeparator

ToolStripControlHost

ToolStripComboBox

ToolStripTextBox

ToolStripProgressBar

ToolStripDropDownButton

ToolStripSplitButton
Location ToolStripContainer

ToolStripContentPanel

ToolStripPanel
Apresentação e renderização ToolStripManager

ToolStripRenderer

ToolStripProfessionalRenderer

ToolStripRenderMode

ToolStripManagerRenderMode

Recursos de tempo de design de ToolStrip

A ToolStrip família de controles fornece um rico conjunto de ferramentas e modelos para edição in-loco e definição da base da interface do usuário para que você possa criar rapidamente um aplicativo de trabalho.

Caixas de diálogo da tarefa

No Visual Studio, clicar na smart tag em um controle no designer exibe uma lista de tarefas para ter acesso fácil a muitos comandos usados com frequência.

Editores de coleção de itens

No Visual Studio, quando você clica em Editar itens na lista de tarefas ou clica com o botão direito do mouse no controle e seleciona Editar Itens no menu de atalho, o editor de coleção para o controle é exibido. Editores de coleção permitem adicionar, remover e reordenar os itens que o controle contém. Você também pode exibir e alterar as propriedades para o controle e os itens do controle.

Hospedagem de controles

A ToolStripControlHost classe fornece wrappers internos para ToolStripComboBox, ToolStripTextBoxe ToolStripProgressBar controles. Você também pode hospedar qualquer outro controle existente ou COM em um ToolStripControlHostarquivo .

Para um exemplo de hospedagem de controle, consulte Como encapsular um controle dos Windows Forms com ToolStripControlHost.

Renderização

ToolStrip classes implementar um esquema de renderização que é significativamente diferente de outros controles do Windows Forms. Com esse esquema, você pode facilmente aplicar estilos e temas.

Para aplicar um estilo a um ToolStrip e a todos os ToolStripItem objetos que ele contém, não é necessário manipular o Paint evento para cada item. Em vez disso, você pode definir a RenderMode propriedade para um dos ToolStripRenderMode valores diferentes de Custom. Como alternativa, você pode definir o Renderer diretamente para qualquer classe que herda da ToolStripRenderer classe. A definição dessa propriedade define automaticamente o RenderMode.

Você pode aplicar o mesmo estilo a vários ToolStrip objetos no mesmo aplicativo definindo a RenderMode propriedade para e a propriedade RenderMode ou para ManagerRenderModeToolStripManagerRenderMode que você deseja ou RendererToolStripRenderer valor, respectivamente.

Para exemplos de renderização, consulte Como criar e definir um renderizador personalizado para o controle ToolStrip nos Windows Forms.

Estilos e temas

ToolStrip e as classes associadas fornecem uma maneira fácil de oferecer suporte a estilos visuais e aparência personalizada que não exigem a substituição dos OnPaint métodos de cada item. Use as DisplayStyle propriedades e e RendererRenderMode.

Reposicionamento e encaixe

Você pode fazer jangada, encaixar ou posicionar ToolStrip controles absolutos. ToolStrip os itens são dispostos pelo LayoutEngine do recipiente.

O reposicionamento é a capacidade das barras de ferramenta de compartilhar espaço horizontal ou vertical. Um formulário do Windows pode ter um ToolStripContainer que, por sua vez, tem painéis nos lados esquerdo, direito, superior e inferior do formulário para posicionamento e rafting ToolStrip, MenuStripe StatusStrip controles. Vários ToolStrip controles são empilhados verticalmente se você colocá-los à esquerda ou à direita ToolStripContainer. Eles empilham horizontalmente se você colocá-los na parte superior ou inferior ToolStripContainer. Você pode usar a central ToolStripContentPanel do para posicionar ToolStripContainer controles tradicionais no formulário.

Qualquer ou todos os ToolStripContainer controles são diretamente selecionáveis em tempo de design e podem ser excluídos. A ToolStripContainer é expansível e dobrável e redimensionado com os controles que ele contém.

O encaixe é a especificação de local de um controle simples na esquerda, direita, acima ou abaixo do formulário.

A vantagem do rafting sobre a atracação é que ToolStrip, MenuStripe StatusStrip os controles podem compartilhar espaço horizontal ou vertical com outros controles.

A maioria dos controles pode ser encaixada ToolStrip no formulário como outros controles em vez de usar rafting. Você também pode especificar que um ToolStrip controle seja posicionado livremente no formulário, removendo-o de sua propriedade e definindo sua propriedade como None, ou você pode especificar sua ToolStripContainerDock posição absoluta definindo a respectiva Location propriedade. Consulte Como remover um ToolStrip de um ToolStripContainer para um formulário.

Use um ou mais controles para obter mais ToolStripPanel flexibilidade, especialmente para aplicativos MDI (Multiple Document Interface) ou se você não precisar de um ToolStripContainerarquivo . A ToolStripPanel fornece um espaço encaixável para controles de localização e rafting ToolStrip , mas não controles tradicionais. Por padrão, o não aparece na caixa de ferramentas do designer, mas você pode colocá-lo lá clicando com o ToolStripPanel botão direito do mouse na caixa de ferramentas e, em seguida, clique em Escolher itens. Você também pode acessar programaticamente como ToolStripPanel qualquer outra classe.

O ToolStrip, MenuStripe StatusStrip deixe os itens transbordarem. Isso é semelhante à forma como esses itens se comportam em barras de ferramentas do Microsoft Office.

Confira também