IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

affichage menus personnalisés


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 53
    Points
    53
    Par défaut affichage menus personnalisés
    Salut, j'ai ajouter un menustrip a mon formulaire mère frmmdi et créer des menus et sous menus. L'utilisateur s'authentifie dans un formulaire login frmlogin. il y a trois utilisateurs, administrateur, responsaable achat et responsable magasin. frmmdi affiche les menus du menustrip en fonction de l'utilisateur et c'ai ce que je voudrais mettre en place c'est a dire griser certain menu en fonction de l'user.
    je rappelle qu'il ya 9 menus. le menu fichier est accessible a tous de meme que le menu formulaire.

    l'Administrateur lui aura droit à tous les menus
    le responsable Achat seulement a trois menus, opération, magasin et coordonnées.
    le responsable Magasin Uniforme a deux menus, magasin et attribution

    Merci de bien vouloir m'aider.

  2. #2
    Membre habitué Avatar de anonymousse
    Profil pro
    Inscrit en
    Février 2011
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 130
    Points : 170
    Points
    170
    Par défaut
    bonjour,

    Essaies la propriété Enabled à false (ou à true suivant besoin)

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    Voici le code, mais il ne marche pas pour le responsable achat et le responsable magasin uniforme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
            If ComboBox1.Text = "Administrateur" And PasswordTextBox.Text = "admin" Then
                Me.Dispose()
                FeuilleMere.ShowDialog()
            ElseIf ComboBox1.Text = "Responsable Achat" And PasswordTextBox.Text = "achat" Then
     
                Me.Dispose()
                FeuilleMere.ShowDialog()
                FeuilleMere.DonnéesToolStripMenuItem.Enabled = False
                FeuilleMere.AdministrationToolStripMenuItem.Enabled = False
                FeuilleMere.EmployéToolStripMenuItem1.Enabled = False
                FeuilleMere.OpérationnelToolStripMenuItem1.Enabled = False
                FeuilleMere.AttributionToolStripMenuItem.Enabled = False
     
     
     
                FeuilleMere.ETATToolStripMenuItem.Enabled = False
     
            ElseIf ComboBox1.Text = "Responsable Magasin Uniforme" And PasswordTextBox.Text = "uniforme" Then
     
                Me.Dispose()
                FeuilleMere.ShowDialog()
                FeuilleMere.DonnéesToolStripMenuItem.Enabled = False
                FeuilleMere.AdministrationToolStripMenuItem.Enabled = False
                FeuilleMere.EmployéToolStripMenuItem1.Enabled = False
                FeuilleMere.OpérationnelToolStripMenuItem1.Enabled = False
     
     
                FeuilleMere.OpérationToolStripMenuItem.Enabled = False
     
     
            Else
     
                MsgBox("Login et/ou mot de passe incorrect(s) veuillez réessayer", MsgBoxStyle.Critical, "ERREUR")
                ComboBox1.Text = ""
                PasswordTextBox.Text = ""
            End If
        End Sub

  4. #4
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    ça ne marche pas dans quel sens?
    il y ont toujours accés?

    tu peut toujours les cacher avec la propriété .visible
    par contre dans ton code, je pense qu'il faut mettre tous les menus à TRUE pour l'Administrateur,
    même manip pour les autres avec TRUE/FALSE.
    les menus vont ne vont pas reveinir tous seul

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    Oui ça ne marche pas dans le sens ou ils ont accès a tous les menus, même avec la propriété .visible a false

  6. #6
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    ....
    http://msdn.microsoft.com/fr-fr/libr...=vs.80%29.aspx
    je t'avouerai que je manipule pas de ToolStripMenuItem
    mais si tu regarde la lien msdn
    Visible -> Obtient ou définit une valeur indiquant si l'élément est affiché.(Hérité de ToolStripItem.)
    il y a peut-etre un héritage à gerer, du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FeuilleMere.AdministrationToolStripItem.Enabled = False
    mais je suis pas du tout persuadé dans ce que je te dit, je ne trouve pas ton objet sous VS 2010

  7. #7
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    en fouinant un peut, j'ai trouvé ceci:
    http://msdn.microsoft.com/fr-fr/library/system.windows.forms.toolstripdropdownitem%28v=vs.80%29.asp

    il est dit:
    L'exemple de code suivant montre comment afficher et masquer des contrôles ToolStripMenuItem.
    je te laisse regarder

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    Merci Mais j'avoue que je suis un peu perdu
    Il n'y aurait pas une autre manière un peu plus compréhensible pour le débutant que je suis. Merci

  9. #9
    Membre habitué Avatar de anonymousse
    Profil pro
    Inscrit en
    Février 2011
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 130
    Points : 170
    Points
    170
    Par défaut
    bonsoir,

    je reviens vers ta question, pour préciser et être sûr que l'on parle de la même chose, tu dis :

    j'ai ajouter un menustrip a mon formulaire mère frmmdi et créer des menus et sous menus.
    et dans ton code tu as :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    FeuilleMere.DonnéesToolStripMenuItem.Enabled = False
    FeuilleMere.AdministrationToolStripMenuItem.Enabled = False
    FeuilleMere.EmployéToolStripMenuItem1.Enabled = False
    FeuilleMere.OpérationnelToolStripMenuItem1.Enabled = False
    FeuilleMere.AttributionToolStripMenuItem.Enabled = False
    sauf erreur, ce ne sont pas les mêmes contrôles (menustrip te permet de gérer des menus déroulants alors qu'on utilise plutôt toolstrip pour afficher des icônes de raccourcis de commandes par exemple) et dans les 2 cas tu as des menuitem.

    pour ma part, j'utilise un toolstrip qui fonctionne avec la commande que je t'ai donnée, exemple (Ajouter étant True ou False suivant besoin) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.RéférencesToolStripMenuItemAjouter.Enabled = Ajouter
    donc il me vient une idée, suite aux justes remarques de Hunteshiva, est-que le problème ne vient pas de ta form, je m'explique : est-ce que c'est bien FeuilleMere qui supporte tes contrôles menustrip (ou toolstrip) ?

  10. #10
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    J'utilise le même code et chez moi aucun problème sa fonctionne et les menu inaccessible sont grisé.

    Vérifiez bien le nom de chaque élément et comparer les aux vôtres. Il ne suffit pas de faire un copier coller il faut comprendre le code et l'adapter a notre situation.

  11. #11
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 53
    Points
    53
    Par défaut
    Salut, en fin de compte j'ai créé deux modules avec a l'interieur de chaque module les menu à désactiver et je l'ai appelé en fonction de l'user et cela a fonctionner. Aussi j'ai remarqué que dans mon code j'appelle la feuille mdi avant de demander de griser les menus selectionnés. Maintenant lorsque je grise les menus juste avant l'appelle de la feuille mdi tout marche nickel. Je ne sais pas mais c'ai ce que j'ai constaté donc voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
            If ComboBox1.Text = "Administrateur" And PasswordTextBox.Text = "admin" Then
                Me.Dispose()
                FeuilleMere.ShowDialog()
            ElseIf ComboBox1.Text = "Responsable Achat" And PasswordTextBox.Text = "achat" Then
     
                Me.Dispose()
                menu2()
                FeuilleMere.ShowDialog()
     
            ElseIf ComboBox1.Text = "Responsable Magasin Uniforme" And PasswordTextBox.Text = "uniforme" Then
     
                Me.Dispose()
                menu3()
                FeuilleMere.ShowDialog()
            Else
     
                MsgBox("Login et/ou mot de passe incorrect(s) veuillez réessayer", MsgBoxStyle.Critical, "ERREUR")
                ComboBox1.Text = ""
                PasswordTextBox.Text = ""
            End If
        End Sub
    Et pour les modules 2 et 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Public Sub menu2()
            FeuilleMere.DonnéesToolStripMenuItem.Enabled = False
            FeuilleMere.AdministrationToolStripMenuItem.Enabled = False
            FeuilleMere.EmployéToolStripMenuItem1.Enabled = False
            FeuilleMere.OpérationnelToolStripMenuItem1.Enabled = False
            FeuilleMere.AttributionToolStripMenuItem.Enabled = False
    End Sub
     
    Public Sub menu3()
            FeuilleMere.DonnéesToolStripMenuItem.Enabled = False
            FeuilleMere.AdministrationToolStripMenuItem.Enabled = False
            FeuilleMere.EmployéToolStripMenuItem1.Enabled = False
            FeuilleMere.OpérationnelToolStripMenuItem1.Enabled = False
            FeuilleMere.OpérationToolStripMenuItem.Enabled = False
        End Sub
    End Module
    Un grand merci à hunteshiva, anonymousse et jaguar-77, merci de m'avoir aidé.

  12. #12
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    nickel si sa fonctionne
    pense à mettre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Création de menus personnalisés
    Par olivier777 dans le forum IHM
    Réponses: 1
    Dernier message: 08/10/2010, 14h05
  2. Affichage menus dans IE
    Par aquafafa dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 27/10/2009, 12h42
  3. Réponses: 0
    Dernier message: 26/11/2008, 18h00
  4. Réponses: 7
    Dernier message: 07/04/2008, 11h37
  5. Réponses: 9
    Dernier message: 27/10/2005, 03h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo