Compartilhar via


Resumo da tecnologia 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 criar barras de ferramentas, barras de status e menus.

Namespaces

System.Windows.Forms

Contexto

Com o controle ToolStrip e suas classes associadas, você pode criar uma funcionalidade avançada de barra de ferramentas que tenha aparência e comportamento consistentes e profissionais. O controle ToolStrip e as classes oferecem as seguintes melhorias 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.

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

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

  • Local de controle completamente configurável com o ToolStripContainer, ToolStripPanele ToolStripContentPanel.

  • Hospedagem controles ToolStrip, tradicionais ou personalizados usando ToolStripControlHost.

  • Mesclagem de controles ToolStrip usando ToolStripPanel.

ToolStrip é a classe base extensível para MenuStrip, ContextMenuStripe StatusStrip. Esses controles são contêineres ToolStripItem que herdam comportamento comum e tratamento de eventos, sendo melhorados para que cada implementação trate do comportamento apropriado para cada caso. Os controles que derivam de ToolStripItem sã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, ContextMenuStripe StatusStrip substituem a barra de ferramentas, o menu, o menu, o menu de atalho e os controles da barra de status anteriores, 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 ToolStrip agrupadas por área de tecnologia.

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

MenuStrip

ContextMenuStrip

StatusStrip

ToolStripDropDownMenu
Itens de ToolStrip ToolStripLabel

ToolStripDropDownItem

ToolStripMenuItem

ToolStripButton

ToolStripStatusLabel

ToolStripSeparator

ToolStripControlHost

ToolStripComboBox

ToolStripTextBox

ToolStripProgressBar

ToolStripDropDownButton

ToolStripSplitButton
Localização ToolStripContainer

ToolStripContentPanel

ToolStripPanel
Apresentação e renderização ToolStripManager

ToolStripRenderer

ToolStripProfessionalRenderer

ToolStripRenderMode

ToolStripManagerRenderMode

Recursos do ToolStrip Design-Time

A família de controles ToolStrip fornece um conjunto avançado de ferramentas e modelos para edição em linha e definição da base de uma interface de usuário, permitindo que você crie rapidamente um aplicativo em funcionamento.

Caixas de diálogo de tarefas

No Visual Studio, clicar na marca inteligente em um controle no designer exibe uma lista de tarefas para acesso conveniente a muitos comandos usados com frequência.

Editores de coleção de itens

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

Controles de hospedagem

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

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

Renderização

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

Para aplicar um estilo a um ToolStrip e a todos os objetos ToolStripItem que ele contém, você não precisa lidar com o evento Paint para cada item. Em vez disso, você pode definir a propriedade RenderMode como um dos valores de ToolStripRenderMode diferentes de Custom. Como alternativa, você pode definir o Renderer diretamente para qualquer classe que herda da classe ToolStripRenderer. Definir essa propriedade define automaticamente o RenderMode.

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

Para obter exemplos de renderização, consulte Como: Criar e Configurar um Renderizador Personalizado para o Controle ToolStrip em Windows Forms.

Estilos e temas

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

Reposicionamento e encaixe

Você pode ancorar, encaixar ou posicionar os controles ToolStrip de maneira absoluta. Itens ToolStrip são dispostos pelo LayoutEngine do contêiner.

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, possui painéis nas partes esquerda, direita, superior e inferior do formulário para posicionar e organizar controles ToolStrip, MenuStrip e StatusStrip. Múltiplos controles ToolStrip são empilhados verticalmente se colocados no ToolStripContainer à esquerda ou à direita. Eles se empilham horizontalmente se você colocá-los no ToolStripContainer superior ou inferior. Você pode usar o ToolStripContentPanel central do ToolStripContainer para posicionar controles tradicionais no formulário.

Todos ou todos os controles ToolStripContainer são diretamente selecionáveis no momento do design e podem ser excluídos. Um ToolStripContainer é expansível e recolhível, e redimensiona-se com os controles que 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 o encaixe é que os controles ToolStrip, MenuStrip e StatusStrip podem compartilhar espaço horizontal ou vertical com outros controles.

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

Use um ou mais controles ToolStripPanel para obter mais flexibilidade, especialmente para aplicativos MDI (Interface de Vários Documentos) ou se você não precisar de um ToolStripContainer. Um ToolStripPanel fornece um espaço acoplável para localizar e agrupar os controles ToolStrip, mas não controles tradicionais. Por padrão, o ToolStripPanel não aparece na Caixa de Ferramentas do designer, mas ele pode ser colocado lá clicando com o botão direito do mouse em Caixa de Ferramentas e, em seguida, clicando em Escolher Itens. Você também pode acessar programaticamente o ToolStripPanel como qualquer outra classe.

Os ToolStrip, MenuStrip e StatusStrip permitem que os itens excedam o espaço. Isso é semelhante à maneira como esses itens se comportam nas barras de ferramentas do Microsoft Office.

Consulte também