Mauvaise idée... FoldersView_MouseUp est un handler d'évènement, ce n'est pas fait pour être appelé directement. Mets le code de remplissage de la ListView dans une méthode à part, et appelle cette méthode quand tu en as besoin
Version imprimable
J'ai crée une méthode qui remplit le listview :
Mais quand je l'appelle dans ma méthode ChangeToFullControl_Click(object sender, System.EventArgs e)Code:private void UserView_FillingUp(object sender, EventArgs e)
Aucun nouveau remplissage... C'est un problème de paramètre de la méthode non?Code:
1
2 this.UserView_FillingUp(sender, EventArgs.Empty);
Pourquoi tu passes ces paramètres à la méthode ? tu en as besoin ?
Et je peux pas deviner ce qui va pas sans voir le code...
Voilà ma méthode UserView_FillingUp()
J'ai un NullReferenceException was unhandled sur :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 private void UserView_FillingUp(object sender, System.Windows.Forms.MouseEventArgs e) { this.UserView.Items.Clear(); DirectorySecurity dirSec = Directory.GetAccessControl(FoldersView.SelectedNode.FullPath); AuthorizationRuleCollection rules = dirSec.GetAccessRules(true, true, typeof(NTAccount)); foreach (FileSystemAccessRule rule in rules) { ListViewItem lvi = new ListViewItem(rule.IdentityReference.Value, 1); lvi.SubItems.Add(rule.FileSystemRights.ToString()); lvi.SubItems.Add(rule.IsInherited ? "Herited" : "Inherited"); lvi.SubItems.Add(rule.AccessControlType == AccessControlType.Allow ? "Allowed" : "Denied"); this.UserView.Items.Add(lvi); } }
Code:DirectorySecurity dirSec = Directory.GetAccessControl(FoldersView.SelectedNode.FullPath);
Ben a priori c'est FoldersView.SelectedNode qui est null, c'est à dire qu'aucun noeud n'est sélectionné.