none
Abilitar e desabilitar itens de Menus RRS feed

  • Pergunta

  • Caros colegas,

    Bom dia,

    Estou com dificuldades de abilitar e desabilitar alguns itens do menu do meu sistema, de acordo com o usuário do sistema.

    o problema se encontra na parte do código abaixo:

    // início de consulta

     public int financeiro1(int op)
        {
            switch (op)
            {
                case 1:
                    {
                        Menu1.Items[Convert.ToInt32("financeiro")].Enabled = true;
                    } break;
                case 0:
                    {
                        Menu1.Items[Convert.ToInt32("financeiro")].Enabled = false;
                    } break;
            }
            return e;
        }

    // fim de consulta

    É o seguinte o Banco me trás de acordo com o campo o valor "0" ou "1" (false ou true) que é verificado no "case:" que me traria o resultado se o menu1 no value"financeiro" o usuário logado teria acesso (enabled = true) ou não teria acesso (enabled = false), mas quando roda no campo dá o seguinte erro:

    " Sequencia de entrada não estava em um formato incorreto. "

    E então não consegui abilitar e desabilitar o item acima??

    alguém pode me informar como conseguir usar este recurso.

     

    Obrigado.

    quarta-feira, 26 de maio de 2010 13:34

Respostas

  • Porque não usa o índice do menu ao invés do nome convertido para Int32?
    Fkaeh - Gambi.NET® Framework Certificated 2010
    • Marcado como Resposta Ivaldo Ferreira quarta-feira, 26 de maio de 2010 14:44
    quarta-feira, 26 de maio de 2010 14:06
  • Bom dia,

    Está dando esse erro por que você está tentando converter uma string para int. 

    >> Menu1.Items[  Convert.ToInt32("financeiro")  ].Enabled = true;

    Nesse caso, você tem as seguintes opções:

    Passar o indice do menu: 
    Menu1.Items[2].Enabled = true;

    Ou então você pode adicionar os itens do seu menu dinamicamente via código usando o método Add: Menu1.Itens.Add

    Acho essa forma melhor, pois se o usuario não tiver permissão para acessar o item ele nem vai aparecer no menu.


     

    • Marcado como Resposta Ivaldo Ferreira quarta-feira, 26 de maio de 2010 14:44
    quarta-feira, 26 de maio de 2010 14:22

Todas as Respostas

  • Porque não usa o índice do menu ao invés do nome convertido para Int32?
    Fkaeh - Gambi.NET® Framework Certificated 2010
    • Marcado como Resposta Ivaldo Ferreira quarta-feira, 26 de maio de 2010 14:44
    quarta-feira, 26 de maio de 2010 14:06
  • Bom dia,

    Está dando esse erro por que você está tentando converter uma string para int. 

    >> Menu1.Items[  Convert.ToInt32("financeiro")  ].Enabled = true;

    Nesse caso, você tem as seguintes opções:

    Passar o indice do menu: 
    Menu1.Items[2].Enabled = true;

    Ou então você pode adicionar os itens do seu menu dinamicamente via código usando o método Add: Menu1.Itens.Add

    Acho essa forma melhor, pois se o usuario não tiver permissão para acessar o item ele nem vai aparecer no menu.


     

    • Marcado como Resposta Ivaldo Ferreira quarta-feira, 26 de maio de 2010 14:44
    quarta-feira, 26 de maio de 2010 14:22