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 ?
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 ?
L'event ItemClicked du menuStrip donne en paramètre l'item clické (e.ClickedItem)
Merci ppphil,
J'ai déclaré 1 méthode :
Ensuite dans une autre méthode je veux testé var.
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); }
Comment fait-on pour appeler cette variable et l'imbriquer dans un switch case ?
Je ne comprends rien à ce que tu veux faire....
Attention var est un mot réservé...
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 :
J'aimerai trouver une solution pour éviter d'écrire 7 méthodes quasi identique.
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"); } }
En effet, il y a juste la propriété du FileSystemRights qui change.
A tous tes ToolStripItem, tu assigne le même gestionnaire Click
Après :
(Enfin c'est du vite écrit. Ce serait mieux avec un switch et tout ça...)
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"); } }
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é ?
Partager