Tester les doublons dans un TreeView

cs_bricolo Messages postés 3 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 18 avril 2004 - 17 avril 2004 à 15:52
cs_JCpp Messages postés 334 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 3 juillet 2010 - 18 avril 2004 à 23:20
Bonjour à tous,

Je viens de passer du VB6 au Csharp et j'essaie en vain de vérifier s'il y a des doublons en ajoutant des Nodes dans un TreeView. Comme je n'ai pas trouvé de propriétés Key, j'utilise la propriété FullPath. Mon problème est de scruter tous les nodes et retourner sa référence s'il existe.

Voici ma fonction qui ne génère pas d'erreur mais ne retourne pas la référence dans NodeExistant. J'ai bien essayé d'ajouter out ou ref en 3ème argument mais ça génère une erreur de compilation:

bool ClefExiste(string ClefAjouter, System.Windows.Forms.TreeNode NodeParent, System.Windows.Forms.TreeNode NodeExistant)
{
bool Existe = false;
foreach(System.Windows.Forms.TreeNode mNode in NodeParent.Nodes)
{
if (mNode.FullPath.ToString() == ClefAjouter)
{
Existe = true;
NodeExistant = mNode;
} else if (Existe == false)
{
if (mNode.Nodes.Count > 0)
{
Existe = ClefExiste(ClefAjouter,mNode, NodeExistant);
}
}
}
return Existe;
}


Peut-être y-a-t'il beaucoup plus simple. Merci d'avance.

2 réponses

cs_bricolo Messages postés 3 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 18 avril 2004
18 avril 2004 à 17:02
Excusez pour le dérangement. j'ai trouvé tout seul. J'ai simplement oublié d'ajouter ref devant toutes les occurences de NodeExistant, comme ceci :

bool ClefExiste(string ClefAjouter, System.Windows.Forms.TreeNode NodeParent, ref System.Windows.Forms.TreeNode NodeExistant)
{
bool Existe = false;
foreach(System.Windows.Forms.TreeNode mNode in NodeParent.Nodes)
{
if (mNode.FullPath.ToString() == ClefAjouter)
{
Existe = true;
NodeExistant = mNode;
} else if (Existe == false)
{
if (mNode.Nodes.Count > 0)
{
Existe = ClefExiste(ClefAjouter,mNode, ref NodeExistant);
}
}
}
return Existe;
}

0
cs_JCpp Messages postés 334 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 3 juillet 2010
18 avril 2004 à 23:20
y-a-t'il plus simple pour :else if (Existe false)

else if (!Existe)
0
Rejoignez-nous