Ich habe eine DataGridView, die alle Gruppenmitglieder unseres ActiveDirectory anzeigt. Wenn ich auf eine Gruppe doppelklicke, möchte ich alle Mitglieder und Untermitglieder dieser Gruppe (einschließlich Benutzer) in einem TreeView anzeigen. Ich habe mehrere Versuche unternommen, dies zu tun, aber mein Problem ist, dass die Prozedur ausgeführt werden muss, bis alle Mitglieder und Untermitglieder der treeView hinzugefügt wurden, was ich nicht tun kann. Gibt es eine Art von Muster, die ich dafür verwenden muss? Ausgehend davon, wie sollte mein Code aussehen?Baumstruktur rekursiv bevölkern
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
GroupPrincipal gp = GroupPrincipal.FindByIdentity(ctx, name);
var nodes = new List<TreeNode>();
foreach (Principal p in gp.GetMembers())
{
nodes.Add(new TreeNode(p.Name));
}
treeView.Nodes.AddRange(nodes.ToArray());