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

C# Discussion :

Switch Case avec ToolStripMenu


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 125
    Par défaut Switch Case avec ToolStripMenu
    Hello,
    J'ai un ToolStripMenu avec 7 méthodes associés.
    J'aimerai récupéré le nom du ToolStripMenuItem cliqué et le tester dans un switch case.

    Comment faire ?

  2. #2
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    L'event ItemClicked du menuStrip donne en paramètre l'item clické (e.ClickedItem)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 125
    Par défaut
    Merci ppphil,
    J'ai déclaré 1 méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void WhatToolStripMenuItem(object send, ToolStripItemClickedEventArgs e)
    {
                ToolStripItemClickedEventArgs var = new ToolStripItemClickedEventArgs(e.ClickedItem);
    }
    Ensuite dans une autre méthode je veux testé var.
    Comment fait-on pour appeler cette variable et l'imbriquer dans un switch case ?

  4. #4
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Je ne comprends rien à ce que tu veux faire....
    Attention var est un mot réservé...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 125
    Par défaut
    Ok, je vais essayé d'être plus clair.
    Je développe une appli contenant 1 TreeView, et 1 ListView.
    Dans le TreeView il y a une arborescence de dossier, sous-dossier.
    Dans le ListView, il y a les permissions relatives aux dossiers sélectionnés.
    Lorsqu'on clique droit dans l'Item du ListView, on peut modifier les droits NTFS.
    Il y a 7 flags soit 7 méthodes (Contrôle Total, Modification, Lecture...)

    Voici par exemple la fonction qui modifie les permissions en Lecture :

    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
     
    private void ChangeToRead_Click(object sender, System.EventArgs e)
    {
           try
           {
                    DirectoryInfo dInfo = new DirectoryInfo(FoldersView.SelectedNode.FullPath);
                    DirectorySecurity dSecurity = dInfo.GetAccessControl();
     
                    dSecurity.SetAccessRuleProtection(true, false);
     
                    string username = this.UserView.SelectedItems[0].Text;
     
                    dSecurity.AddAccessRule(new FileSystemAccessRule(
                        @username,
                        FileSystemRights.Read,
                        InheritanceFlags.ObjectInherit,
                        PropagationFlags.None,
                        AccessControlType.Allow)
                        );
     
                    dInfo.SetAccessControl(dSecurity);
            }
     
           catch (System.UnauthorizedAccessException)
           {
                    MessageBox.Show("Vos droits sont insuffisants", "Erreur");
           }
    }
    J'aimerai trouver une solution pour éviter d'écrire 7 méthodes quasi identique.
    En effet, il y a juste la propriété du FileSystemRights qui change.

  6. #6
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    A tous tes ToolStripItem, tu assigne le même gestionnaire Click
    Après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private void ToolStripItem_Click(object sender, System.EventArgs e)
    {
      if ((sender is ToolStrimItem) && ((sender as ToolStripItem).Name = "read")) //ou un truc comme ça
      {
        ChangerDroits("read");
      }
    }
    (Enfin c'est du vite écrit. Ce serait mieux avec un switch et tout ça...)
    A la fonction ChangeDroits tu passe le paramètre indiquant les droits à affecter.
    (et aussi évent. le fichier à modifier)...
    Est-ce que ça t'aide ou je suis complètement à côté ?

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

Discussions similaires

  1. If /Else & Switch case avec plusieurs paramètres
    Par ralek dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 07/07/2010, 19h28
  2. Utilisation du switch/case avec un StreamReader
    Par hellalaboy dans le forum C#
    Réponses: 9
    Dernier message: 27/08/2009, 15h27
  3. switch case avec variable dans case
    Par lematteur dans le forum C
    Réponses: 5
    Dernier message: 17/04/2009, 12h08
  4. switch case avec code généré
    Par hoyohoyo dans le forum Langage
    Réponses: 7
    Dernier message: 27/08/2008, 08h37
  5. Switch case avec expression réguliere
    Par neptunia dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2008, 12h51

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