Hey les gars, j'écris une application qui récupère les noms de groupe et les autorisations d'accès pour chaque groupe NT peuplé de la boucle foreach. En outre, j'ai inclus un contrôle DataGridView où chaque cellule a une colonne de case à cocher, l'application va vérifier chaque cellule en conséquence, par exemple lire, écrire, modifier, etc pour chaque groupe. Je ne peux pas pour la vie de moi, comprendre comment vérifier ces cases en conséquence. L'extrait de code ci-dessous illustre ce que j'essaie de faire avec une colonne de zone de contrôle DataGridView standard, mais je voudrais faire ces cases à cocher plutôt que des zones de texte. Tous commentaires serait grandement apprécié. Dans l'extrait de code ci-dessous, la propriété est le chemin transmis depuis une autre méthode.DataGridView CheckBox Question
private void CheckDirPermissions(ResultProperty Property)
{
if (Property.Type == typeof(string) && !Property.IsArray)
{
try
{
FileSecurity folderSecurity = File.GetAccessControl(Property.String);
foreach (FileSystemAccessRule fileSystemAccessRule in folderSecurity.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount)))
{
string IdentityReference = fileSystemAccessRule.IdentityReference.ToString();
string AccessControlType = fileSystemAccessRule.AccessControlType.ToString();
string filesystemrights = fileSystemAccessRule.FileSystemRights.ToString();
string IsInherited = fileSystemAccessRule.IsInherited.ToString();
DataGridDirPermissions.Rows.Add(IdentityReference,
filesystemrights,
AccessControlType,
IsInherited);
}
}
catch (Exception)
{
MessageBox.Show("Path does not exist.", "Path Not Found", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else return;
}
Cela fonctionne parfaitement. Merci beaucoup Alexphi – Sanch01R