Selection dans un treeview

[Résolu]
Signaler
Messages postés
302
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
-
Messages postés
302
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
-
Bonjour,

j'ai un treeview et dans ce treeview j'aimerais autoriser la multiselection ( j'ai reussie avec un control utilisateur ) mais j'aimerais aussi pouvoir a partir d'un bouton tout selectionner dans la treeview ou en cliquant sur un node selectionner ses node enfant

Merci d'avance

6 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
private void button1_Click( object sender, EventArgs e )
{
    // Obtient le noeud à sélectionner.
    TreeNode node = treeViewMS1.Nodes[ 1 ]; // Node 2
    // Créer la nouvelle collection.
    ArrayList nodes = new ArrayList( );
    // Ajoute le noeud à la collection.
    nodes.Add( node );
    // Ajoute les noeuds enfants ( si nécessaire ).
    AddChildNodes( nodes, node );
    // Assigne la collection.
    this.treeViewMS1.SelectedNodes = nodes;


    MessageBox.Show( nodes.Count.ToString( ) );
}


// Il ne me semble pas qu'une fonction soit disponible
// dans le framework pour récupérer tous les noeuds enfants.
private void AddChildNodes( ArrayList nodes, TreeNode parent )
{
    foreach( TreeNode child in parent.Nodes )
    {
        nodes.Add( child );
        AddChildNodes( nodes, child );
    }
}
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Salut, inspire toi de >ce code< ça semble assez simple il faut maintenanir une collection de TreeNode et utiliser l'énumeration SystemColors.Highlight pour simuler la selection. ( à moins que ce soit ce contrôle que tu utilises déja. )
Messages postés
302
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
4
Oui c'est celui la
Mais j'ai besoin de recuperer la liste des nodes selectionnés
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
J'ai pas étudié ce contrôle plus que ça, mais l'auteur a fait une propriété SelectedNodes, non !?
Messages postés
302
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
4
Oui mais j'arrive pas à m'en servir.
Auriez vous un exemple svp
Messages postés
302
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
4
j'ai un peu mixé ton code et sa marche nikel : MERCI


 





<hr />



ArrayList



nodes =

new



ArrayList
();


for
(

int
i = 0; i < treeView1.Nodes.Count; i++){

nodes.Add(treeView1.Nodes[i]);

AddChildNodes(nodes, treeView1.Nodes[i]);

}


// Assigne la collection.






this
.treeView1.SelectedNodes = nodes;