Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source

TreeView.CollapseAll, méthode

Réduit tous les nœuds d'arbre.

Espace de noms :  System.Windows.Forms
Assembly :  System.Windows.Forms (dans System.Windows.Forms.dll)

public void CollapseAll()

La méthode CollapseAll réduit tous les objets TreeNode, y compris les nœuds d'arbre enfants, qui résident dans le contrôle TreeView.

RemarqueRemarque

L'état de TreeNode est persistant. Par exemple, supposez que vous appeliez la méthode Expand pour un nœud d'arbre racine. Si les nœuds d'arbre enfants n'ont pas été précédemment réduits, ceux-ci sont affichés dans leur état précédemment développé. L'appel à la méthode CollapseAll permet de veiller à ce que tous les nœuds d'arbre soient affichés dans l'état réduit.

L'exemple de code suivant illustre le changement de l'état réduit de TreeView afin que tous les nœuds activés soient visibles. Tous les nœuds sont d'abord réduits et un gestionnaire est ajouté à l'événement BeforeExpand. Tous les nœuds sont ensuite développés. Le gestionnaire d'événements BeforeExpand détermine si un nœud donné a des nœuds enfants qui sont activés. Si un nœud n'a pas d'enfants activés, le développement est annulé pour ce nœud. Pour permettre un développement de nœud standard lors d'un clic sur le signe plus en regard d'un nœud, le gestionnaire d'événements BeforeExpand est ensuite retiré.

Ce comportement peut également être implémenté en gérant l'événement BeforeCollapse, tel qu'illustré dans l'exemple de cette rubrique.

Pour obtenir l'exemple complet, consultez la rubrique de référence CheckBoxes.


private void showCheckedNodesButton_Click(object sender, EventArgs e)
{
    // Disable redrawing of treeView1 to prevent flickering 
    // while changes are made.
    treeView1.BeginUpdate();

    // Collapse all nodes of treeView1.
    treeView1.CollapseAll();

    // Add the checkForCheckedChildren event handler to the BeforeExpand event.
    treeView1.BeforeExpand += checkForCheckedChildren;

    // Expand all nodes of treeView1. Nodes without checked children are 
    // prevented from expanding by the checkForCheckedChildren event handler.
    treeView1.ExpandAll();

    // Remove the checkForCheckedChildren event handler from the BeforeExpand 
    // event so manual node expansion will work correctly.
    treeView1.BeforeExpand -= checkForCheckedChildren;

    // Enable redrawing of treeView1.
    treeView1.EndUpdate();
}

// Prevent expansion of a node that does not have any checked child nodes.
private void CheckForCheckedChildrenHandler(object sender, 
    TreeViewCancelEventArgs e)
{
    if (!HasCheckedChildNodes(e.Node)) e.Cancel = true;
}

// Returns a value indicating whether the specified 
// TreeNode has checked child nodes.
private bool HasCheckedChildNodes(TreeNode node)
{
    if (node.Nodes.Count == 0) return false;
    foreach (TreeNode childNode in node.Nodes)
    {
        if (childNode.Checked) return true;
        // Recursively check the children of the current child node.
        if (HasCheckedChildNodes(childNode)) return true;
    }
    return false;
}


.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft