none
Criar controle Baseado em MenuStrip RRS feed

  • Pergunta

  • Ola para todos.
    Estou com o seguinte problema: Preciso adicionar 2 propriedades aos items de um MenuStrip.
    Criei um controle que herda todas as caracteristicas do menuStrip.
    Para esse controle coloquei as propriedades da seguinte forma:

    public enum Restrict

    {

    Sim,

    Nao

    }

    private Restrict _restricao = Restrict.Nao;

    public Restrict Restrito

    {

    get { return _restricao; }

    set { _restricao = value; }

    }

    string _funcionalidade;

    public string Funcionalidade

    {

    get { return _funcionalidade; }

    set { _funcionalidade = value; }

    }


    Nesse caso a funcionalidade é oque o menu deverá fazer e se é algo restrito.
    Essas propriedades são um padrão. Tenho elas em buttons, textbox,combos e grids.
    Para explicar o porque disso. Tenho um baseForm que irá controlar essas permissões. Ao montar os formularios ele percorre os controles e verifica as funcionalidades de cada um e se é restrito ou não.
    Voltando a duvida. No MenuStrip consigo colocar essas propriedades mas quando adiciono um item ao menu(TooStripMenu) não consigo. Como faço para adicionar essas propriedades também no ToolStripMenu?
    Obrigado a todos!


    Desenvolvedor.Net
    terça-feira, 24 de março de 2009 13:50

Todas as Respostas

  • Olá,

    Para acontecer como você deseja, terá que criar um tipo herdado do ToolStripMenuItem e adicioná-lo manualmente ao seu ToolStripMenu. Ou ainda criar o seu próprio editor para fazer isso por você.

    Acredito que essa não será melhor solução. Eu recomendo criar um componente herdado da interface IExtenderProvider. Você poderá codificá-lo para trabalhar semelhante ao ErrorProvider, acrescentando as propriedades que você necessita aos controles específicos desejados. Esse componente diante dos valores das propriedades pode alterar o comportamento de seus controles.

    Um abraço.
    Rodrigo Guimarães da Silva
    quarta-feira, 25 de março de 2009 17:19