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
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
eToolStripRenderer
.Reposicionamento interno (compartilhamento de espaço horizontal ou vertical dentro da área de ferramenta quando encaixado) com
ToolStripContainer
eToolStripPanel
.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
,ToolStripPanel
eToolStripContentPanel
.Hospedagem controles
ToolStrip
, tradicionais ou personalizados usandoToolStripControlHost
.Mesclagem de controles
ToolStrip
usandoToolStripPanel
.
ToolStrip
é a classe base extensível para MenuStrip
, ContextMenuStrip
e 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
, ContextMenuStrip
e 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 None
ou 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
.NET Desktop feedback