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

Windows Forms Discussion :

VB 2008 : Menustrip


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut VB 2008 : Menustrip
    Bonjour,

    Je voudrais pouvoir rendre invisible une partie de mon menu selon l'utilisateur.
    Je parviens à le faire pour un menu en entier:
    -->COURSE --> DEMANDE --> ACHAT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MenuStrip1.Items.Item(2).Visible = False
    je rends invisible le menu achat.

    Mais je voudrais pouvoir également intervenir dans les sous-menus:
    --> COURSE
    ->course livrée
    ->cloture course
    Par exemple ne rendre visible le sous menu cloture course que pour un certain type d'utilisateur.
    Ce que je cherche c'est comment accèder à mon sous menu:
    En C# je faisait quelque chose de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MenuStrip1.Items(0).Item(1).Visible = False
    Mais mon problème en vb.net c'est que Item n'appartient pas à Items(i)...

    Merci par avance de votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 168
    Par défaut
    Est-ce que tu pourrais poster une arborescence plus parlante de ton menu ?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut
    Exemple de menu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Course                       Demande                     Achat
      -->créercourse            -->créerdemande         -->piece
      -->supcourse              -->Supdemande
         -->manuel
         -->auto
    Je voudrais avoir accès au sous-menu créercourse par exemple, qui posséde donc en parent le menu Course, et le menu course appartient au menustrip.

    J'espère avoir été clair...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 168
    Par défaut
    Tu voudrais donc garder Créer Course mais cacher ce qu'il y a en dessous (supcourse -->manuel -->auto) ?

    Si tu passes par Item mais tu lui donnes le nom de ton ItemMenu au lieu de l'index, ça convient pas ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 52
    Par défaut
    utilise les control exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    dim ctrl as control
    for each ctrl in ma_fenetre.controls
     
    if typeof ctrl as menu then
     
    if ctrl.name !=nommenu then 
       ctrl.visible=false
    else 
       ctrl.visible=true
    end if
     
    end if
     
    next
    je pense que sa devrais allé.

  6. #6
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Je dirais plus quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((ToolStripMenuItem)MenuStrip1.Items[0]).DropDownItems[0].Visible = false;
    Désolé, c'est du C# mais ça doit pas être compliqué à refaire en VB
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut
    Alors
    @Alexandre : il n'y a pas de possiblité de Menuitem(Name)

    @Sehnsucht : Merci de ton e-mail; malheureusement dans ton application il n'y a pas ce que je recherche précisement (mais tu as développé quelque chose de très propre )

    @Aurelkb :je ne suis pas certain que ta méthode me permettent d'arriver à mes fins...

    @laedit : C'est quelque chose comme çà qu'il me faudrait ... j'y arrive en C# mais pas en VB.NET...

    Merci de vos diverses solution.
    Mais si quelqu'un serait traduire la solution de laedit en VB.NET je serais Ravi

  8. #8
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Bonjour,

    Je ne sais pas si ça peut t'aider, mais lorsque je débutais en VB.Net je m'étais exercé à réaliser un mini-éditeur de texte (à la sauce Word en plus simple) donc gestion multi-documents etc...
    J'avais donc un formulaire MDI principal dans lequel j'ouvrais d'autres formulaires enfants, un pour chaque document ouvert.
    Le formulaire principal avait un menu avec les éléments communs (Ouvrir etc...), et sur chaque forumlaire enfant un autre menu avec les éléments spécifiques au document (Enregistrer etc...)
    Et dans mes souvenirs lors du focus d'un document enfant, les options du menu s'adaptaient à l'état du document en cours (Enregistrer grisé si encore aucune modification au document par exemple).

    Tout ça pour dire que ce que tu recherches, se trouve peut-être dans un Forumlaire principal où ton utilisateur se connecte, et qui appelle un Formulaire enfant (qui peut être unique) dont les options du menu reflètent les autorisations de cet utilisateur.

    Je regrette de ne pas avoir d'exemple concret ou de liens à te fournir, je viens juste d'y penser, je tenais donc à t'en faire part, en espérant que cela te soit utile, si jamais je retrouve des liens je te le ferai savoir.

    Cordialement!

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

Discussions similaires

  1. Réponses: 145
    Dernier message: 15/02/2009, 11h51
  2. [Archive] Quel est votre langage de programmation préféré ? (2004..2008)
    Par Idelways dans le forum Débats sur le développement - Le Best Of
    Réponses: 403
    Dernier message: 04/02/2009, 00h56
  3. Quel usage faites vous de Python (2004 - 2008) ?
    Par Guigui_ dans le forum Général Python
    Réponses: 130
    Dernier message: 03/12/2008, 23h59
  4. [C#]Theme des menuStrip, statusStrip et autre
    Par dev01 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 03/04/2006, 23h25
  5. [VB.NET] MenuStrip : je ne vois pas mes 'shortcutkey'
    Par khany dans le forum Windows Forms
    Réponses: 13
    Dernier message: 25/11/2005, 09h48

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