none
Desabilitar opção de menu RRS feed

  • Pergunta

  • Olá, estou com uma dúvida.

    Estou com um projeto já pronto e nele contém um menu com várias opções.

    Queria saber como faço para desabilitar apenas uma opção para um certo usuário.

    São vários clientes que acessam esse software, e cada cliente possui suas limitações de telas.

    Exemplo: Cliente 1 abre o programa e aparece 4 opções de menu para ele acessar.

    Cliente 2 abre o programa e aparece apenas 3 opções.

    Como faço para desabilitar uma opção para certo usuário?

    quinta-feira, 23 de novembro de 2017 19:34

Respostas

  • Renato, Boa noite.

    Em vez de vc mudar o menu, não seria mais interessante vc ter somente um menu e criar perfis tipo Adm / usuário  avançado / usuário.  

    vc provavelmente criou um login e senha pra acessarem teu sistema certo ? 

    se sim apos a consulta no banco se o login/ senha forem validos vc carrega um perfil usa uma variavel qq e fa um switch dando acesso aos itens do menu.

    assim vc vincula a conta do usuario a um perfil.

    switch (label1.Text) { case "Adm": this.sairToolStripMenuItem.Visible = true; this.cadUsuáriosToolStripMenuItem.Visible = false; this.emailToolStripMenuItem.Visible = false; this.bancosToolStripMenuItem.Visible = false; this.fabricantesToolStripMenuItem.Visible = true; this.certificadosToolStripMenuItem.Visible = true; this.valorMOToolStripMenuItem.Visible = true; this.orçamentoToolStripMenuItem.Visible = true; this.ferramentasToolStripMenuItem.Visible = false; this.ferramentariaToolStripMenuItem.Visible = false; this.suprimentosToolStripMenuItem.Visible = true; this.ata100ToolStripMenuItem.Visible = true; this.fornecedoresToolStripMenuItem.Visible = true; this.relatóriosToolStripMenuItem.Visible = true;// MENU RELATORIO this.auditoriaPrateleiraToolStripMenuItem.Visible = true; break; case "Diretoria": this.sairToolStripMenuItem.Visible = true; this.cadUsuáriosToolStripMenuItem.Visible = true; this.emailToolStripMenuItem.Visible = true; this.bancosToolStripMenuItem.Visible = true; this.proprietarioToolStripMenuItem.Visible = true; this.fabricantesToolStripMenuItem.Visible = true; break; case "Diretor": this.sairToolStripMenuItem.Visible = true; this.cadUsuáriosToolStripMenuItem.Visible = false; this.emailToolStripMenuItem.Visible = false; this.bancosToolStripMenuItem.Visible = true; this.fabricantesToolStripMenuItem.Visible = true;

    quinta-feira, 23 de novembro de 2017 22:29

Todas as Respostas

  • Boa noite.

    Não entendi exatamente o que você precisa, mas veja se é isto:

    MenuStrip1.Items.Item("ToolStripMenuItem1").Enabled = False 'assim
    MenuStrip1.Items.Item(1).Enabled = True 'ou assim
    MenuStrip1.Items.Item(2).Enabled = False


    MARIANO1776

    quinta-feira, 23 de novembro de 2017 20:42
  • Renato, Boa noite.

    Em vez de vc mudar o menu, não seria mais interessante vc ter somente um menu e criar perfis tipo Adm / usuário  avançado / usuário.  

    vc provavelmente criou um login e senha pra acessarem teu sistema certo ? 

    se sim apos a consulta no banco se o login/ senha forem validos vc carrega um perfil usa uma variavel qq e fa um switch dando acesso aos itens do menu.

    assim vc vincula a conta do usuario a um perfil.

    switch (label1.Text) { case "Adm": this.sairToolStripMenuItem.Visible = true; this.cadUsuáriosToolStripMenuItem.Visible = false; this.emailToolStripMenuItem.Visible = false; this.bancosToolStripMenuItem.Visible = false; this.fabricantesToolStripMenuItem.Visible = true; this.certificadosToolStripMenuItem.Visible = true; this.valorMOToolStripMenuItem.Visible = true; this.orçamentoToolStripMenuItem.Visible = true; this.ferramentasToolStripMenuItem.Visible = false; this.ferramentariaToolStripMenuItem.Visible = false; this.suprimentosToolStripMenuItem.Visible = true; this.ata100ToolStripMenuItem.Visible = true; this.fornecedoresToolStripMenuItem.Visible = true; this.relatóriosToolStripMenuItem.Visible = true;// MENU RELATORIO this.auditoriaPrateleiraToolStripMenuItem.Visible = true; break; case "Diretoria": this.sairToolStripMenuItem.Visible = true; this.cadUsuáriosToolStripMenuItem.Visible = true; this.emailToolStripMenuItem.Visible = true; this.bancosToolStripMenuItem.Visible = true; this.proprietarioToolStripMenuItem.Visible = true; this.fabricantesToolStripMenuItem.Visible = true; break; case "Diretor": this.sairToolStripMenuItem.Visible = true; this.cadUsuáriosToolStripMenuItem.Visible = false; this.emailToolStripMenuItem.Visible = false; this.bancosToolStripMenuItem.Visible = true; this.fabricantesToolStripMenuItem.Visible = true;

    quinta-feira, 23 de novembro de 2017 22:29
  • Bom dia,

    Por falta de retorno essa thread está sendo encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 27 de novembro de 2017 13:10
    Moderador