TreeView avec des Cases à cocher en c#

J'ai une arborescence avec des cases à cocher en c#, je veux que lorsque l'utilisateur sélectionne un nœud tous les nœuds qu'il y a sur les niveaux inférieurs automatique vérifié aussi.
Personne ne sait au sujet de manière à le faire sans courir avec recorsive fnction sur tous les arbres à chaque fois que l'utilisateur vérifie certains nœud?

Grâce

//cette fonction renvoie le treeView.

   public TreeView GetTreeView()
    {

        getSubject();
        //fill the treeview with all subjects.
        foreach (Subject subject in subjects)
        {
            //for each root subject fill all the his children.
            if (subject.subjestId == subject.parentSubject)
            {
                TreeNode node = new TreeNode(subject.subjectString, subject.subjestId, subject.subjestId);
                addChild(node, subject.subjestId);
                tv.Nodes.Add(node);
            }
        }
        return tv;
    }
   //for each subject return sub subjects.
   private void addChild(TreeNode node, int parentId)
    {
        foreach (Subject subject in subjects)
        {
            if (subject.parentSubject == parentId && subject.parentSubject != subject.subjestId)
            {
                TreeNode childNode = new TreeNode(subject.subjectString, subject.subjestId, subject.subjestId);
                addChild(childNode, subject.subjestId);
                node.Nodes.Add(childNode);
            }
        }
    }
  • que la question est absente de l'interface graphique de la plateforme (WinForms, WPF et ASP.NET tous ont leur propre, différente, TreeViews)
InformationsquelleAutor RRR | 2011-03-29