Pergunta

Usando o .NET 2.0 com WinForms, gostaria de criar um menu personalizado com várias colunas (semelhante à palavra aparência e comportamento de 2007, mas sem a faixa de opções).

Minha abordagem foi criar um controle e, usando uma barra de ferramentas encaixada à esquerda/direita, construí uma aparência semelhante de um menu.No entanto, existem algumas deficiências nesta solução, tais como

  • o controle só pode ser colocado e exibido dentro do formulário;
  • se o formulário for muito pequeno, alguma área do controle não será exibida;
  • o controle também deve ser mostrado/ocultado manualmente.

Assim, estou procurando uma maneira de exibir esse controle fora dos limites do aplicativo.A criação de um novo formulário resultaria na desativação da barra de título na exibição, então isso também está fora de questão.Alternativamente, qualquer outra abordagem para criar um menu personalizado seria muito bem-vinda.

Editar:Não quero usar nenhum produto comercial para isso;e como se trata de uma simples personalização de menu, não está relacionado de forma alguma à "pesquisa" da faixa de opções da Microsoft.

Foi útil?

Solução

A classe MenuStrip possui uma propriedade Renderer.Você pode atribuir sua própria classe derivada ToolStripRenderer para personalizar a pintura.É uma quantidade razoável de trabalho.

Outras dicas

  • a menos que você esteja no ramo de fornecimento de componentes .net, você deve tentar comprá-los na prateleira.É muito trabalhoso acertar esse controle - já existem fornecedores que fornecem esse tipo de UI.por exemplo. Componente Um
  • se você está tentando construir este componente como um produto, consulte o link abaixo.Aparentemente, a Microsoft tem uma licença “isenta de royalties” em torno da interface do Office para proteger seus investimentos em P&D.A partir de agora, você precisa informar a eles que está usando algo semelhante à interface do Office. Mais disso aqui
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top