Questa documentazione è stata archiviata e non viene gestita.

Proprietà TreeView.TreeViewNodeSorter

Aggiornamento: novembre 2007

Ottiene o imposta l'implementazione di IComparer per eseguire un ordinamento personalizzato dei nodi di TreeView.

Spazio dei nomi:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

[BrowsableAttribute(false)]
public IComparer TreeViewNodeSorter { get; set; }
/** @property */
/** @attribute BrowsableAttribute(false) */
public IComparer get_TreeViewNodeSorter()
/** @property */
/** @attribute BrowsableAttribute(false) */
public  void set_TreeViewNodeSorter(IComparer value)

public function get TreeViewNodeSorter () : IComparer
public function set TreeViewNodeSorter (value : IComparer)

Valore proprietà

Tipo: System.Collections.IComparer

Oggetto IComparer da utilizzare per eseguire l'ordinamento personalizzato.

L'ordinamento personalizzato viene applicato quando la proprietà TreeViewNodeSorter è impostata.

Se si modifica un'etichetta TreeNode, è possibile chiamare il metodo Sort per ordinare nuovamente gli elementi in base al criterio di ordinamento personalizzato specificato dalla proprietà TreeViewNodeSorter.

Nota:

Il criterio di ordinamento predefinito utilizza il metodo Compare in base alla proprietà CurrentCulture specificata dall'applicazione. Gli oggetti TreeNode con valore uguale vengono quindi conservati nell'ordine in cui sono stati aggiunti al controllo TreeView. Questo comportamento può essere diverso se viene applicato un ordinamento personalizzato.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare la proprietà TreeViewNodeSorter per ordinare i nodi dal più piccolo al più grande. Per eseguire l'esempio, incollare il codice riportato di seguito in un Windows Form e chiamare InitializeTreeView1 dal costruttore del form o dal gestore eventi Load.

// Declare the TreeView.
private TreeView treeView1;
private TextBox textBox1;
private Button button1;

private void InitializeTreeView1()
{
    // Create the TreeView
    treeView1 = new TreeView();
    treeView1.Size = new Size(200, 200);

    // Create the button and set some basic properties. 
    button1 = new Button();
    button1.Location = new Point(205, 138);
    button1.Text = "Set Sorter";

    // Handle the click event for the button.
    button1.Click += new EventHandler(button1_Click);

    // Create the root nodes.
    TreeNode docNode = new TreeNode("Documents");
    TreeNode spreadSheetNode = new TreeNode("Spreadsheets");

    // Add some additional nodes.
    spreadSheetNode.Nodes.Add("payroll.xls");
    spreadSheetNode.Nodes.Add("checking.xls");
    spreadSheetNode.Nodes.Add("tracking.xls");
    docNode.Nodes.Add("phoneList.doc");
    docNode.Nodes.Add("resume.doc");

    // Add the root nodes to the TreeView.
    treeView1.Nodes.Add(spreadSheetNode);
    treeView1.Nodes.Add(docNode);

    // Add the TreeView to the form.
    Controls.Add(treeView1);
    Controls.Add(button1);
}

// Set the TreeViewNodeSorter property to a new instance
// of the custom sorter.
private void button1_Click(object sender, EventArgs e)
{
    treeView1.TreeViewNodeSorter = new NodeSorter();
}

// Create a node sorter that implements the IComparer interface.
public class NodeSorter : IComparer
{
    // Compare the length of the strings, or the strings
    // themselves, if they are the same length.
    public int Compare(object x, object y)
    {
        TreeNode tx = x as TreeNode;
        TreeNode ty = y as TreeNode;

        // Compare the length of the strings, returning the difference.
        if (tx.Text.Length != ty.Text.Length)
            return tx.Text.Length - ty.Text.Length;

        // If they are the same length, call Compare.
        return string.Compare(tx.Text, ty.Text);
    }
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0
Mostra: