Export (0) Print
Expand All

TreeView.TopNode Property

Gets the first fully-visible tree node in the tree view control.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public TreeNode TopNode { get; set; }
/** @property */
public TreeNode get_TopNode ()

/** @property */
public void set_TopNode (TreeNode value)

public function get TopNode () : TreeNode

public function set TopNode (value : TreeNode)

Property Value

A TreeNode that represents the first fully-visible tree node in the tree view control.

Initially, the TopNode returns the first root tree node, which is located at the top of the TreeView. However, if the user has scrolled the contents, another tree node might be at the top.

NoteNote

Setting this property has no effect when the Scrollable property value is false.

The following code example demonstrates how to use the BeforeLabelEditAfterSelect and TopNode members. To run this example, paste the following code in a form containing a TreeView control called TreeView1. Call the InitializeTreeView method in the form's constructor or Load method.

	private void InitializeTreeView()
	{

		// Construct the TreeView object.
		this.TreeView1 = new System.Windows.Forms.TreeView();

		// Set dock, location, size name, and tab order
		// values for the TreeView object.
		TreeView1.Dock = System.Windows.Forms.DockStyle.Left;
		TreeView1.Location = new System.Drawing.Point(0, 0);
		TreeView1.Name = "TreeView1";
		TreeView1.Size = new System.Drawing.Size(152, 266);
		TreeView1.TabIndex = 1;
		
		// Associate the event-handling methods with the
		// BeforeLabeEdit and the AfterSelect events.
		TreeView1.BeforeLabelEdit += 
			new NodeLabelEditEventHandler(TreeView1_BeforeLabelEdit);
		TreeView1.AfterSelect += 
			new TreeViewEventHandler(TreeView1_AfterSelect);

		// Set the LabelEdit property to true to allow the 
		// user to edit the TreeNode text.
		this.TreeView1.LabelEdit = true;

		// Declare and create objects needed to populate 
		// the TreeView.
		string[] files = new string[]{"bigPresentation.ppt", 
			"myFinances.xls", "myResume.doc"};; 
		string filePath = "c:\\myFiles";
		System.Collections.ArrayList nodes = 
			new System.Collections.ArrayList();

		// Create a node for each file, setting the Text property to the 
		// file's name and the Tag property to file's fully-qualified name.
		foreach ( string file in files )
		{
			TreeNode node = new TreeNode(file);
			node.Tag = filePath+"\\"+file;
			nodes.Add(node);
		}

		TreeNode[] treeNodes = new TreeNode[nodes.Count];
		nodes.CopyTo(treeNodes);

		// Create a new node named topNode and add the ArrayList of 
		// nodes to topNode.
		TreeNode topNode = new TreeNode("myFiles",  treeNodes);
		topNode.Tag = filePath;

		// Add topNode to the TreeView.
		TreeView1.Nodes.Add(topNode);

		// Add the TreeView to the form.
		this.Controls.Add(TreeView1);
	}

	private void TreeView1_BeforeLabelEdit(object sender, 
		NodeLabelEditEventArgs e)
	{

		// Determine whether the user has selected the top node. If so,
		// change the LabelEdit property to false so the user cannot
		// edit this label.  
		if (e.Node == TreeView1.TopNode)

		{
			TreeView1.LabelEdit = false;
			MessageBox.Show("You are not allowed to edit the top node");
		}
		// Set the LabelEdit property to true again.
		TreeView1.LabelEdit = true;
	}
...	// Handle the After_Select event.
	private void TreeView1_AfterSelect(System.Object sender, 
		System.Windows.Forms.TreeViewEventArgs e)
	{

		// Vary the response depending on which TreeViewAction
		// triggered the event. 
		switch((e.Action))
		{
			case TreeViewAction.ByKeyboard:
				MessageBox.Show("You like the keyboard!");
				break;
			case TreeViewAction.ByMouse:
				MessageBox.Show("You like the mouse!");
				break;
		}
	}

    private void InitializeTreeView()
    {
        // Construct the TreeView object.
        this.treeView1 = new System.Windows.Forms.TreeView();
        // Set dock, location, size name, and tab order
        // values for the TreeView object.
        treeView1.set_Dock(System.Windows.Forms.DockStyle.Left);
        treeView1.set_Location(new System.Drawing.Point(0, 0));
        treeView1.set_Name("TreeView1");
        treeView1.set_Size(new System.Drawing.Size(152, 266));
        treeView1.set_TabIndex(1);
        // Associate the event-handling methods with the
        // BeforeLabeEdit and the AfterSelect events.
        treeView1.add_BeforeLabelEdit(
            new NodeLabelEditEventHandler(treeView1_BeforeLabelEdit));
        treeView1.add_AfterSelect(new TreeViewEventHandler(
            treeView1_AfterSelect));
        // Set the LabelEdit property to true to allow the 
        // user to edit the TreeNode text.
        this.treeView1.set_LabelEdit(true);
        // Declare and create objects needed to populate 
        // the TreeView.
        String files[] = new String[] { "bigPresentation.ppt", "myFinances.xls",
            "myResume.doc" };
        String filePath = "c:\\myFiles";
        System.Collections.ArrayList nodes = new System.Collections.ArrayList();
        // Create a node for each file, setting the Text property to the 
        // file's name and the Tag property to file's fully-qualified name.
        for (int iCtr = 0; iCtr < files.length; iCtr++) {
            String file = files[iCtr];
            TreeNode node = new TreeNode(file);
            node.set_Tag(filePath + "\\" + file);
            nodes.Add(node);
        }

        TreeNode treeNodes[] = new TreeNode[nodes.get_Count()];
        nodes.CopyTo(treeNodes);
        // Create a new node named topNode and add the ArrayList of 
        // nodes to topNode.
        TreeNode topNode = new TreeNode("myFiles", treeNodes);
        topNode.set_Tag(filePath);
        // Add topNode to the TreeView.
        treeView1.get_Nodes().Add(topNode);
        // Add the TreeView to the form.
        this.get_Controls().Add(treeView1);
    } //InitializeTreeView

    private void treeView1_BeforeLabelEdit(Object sender,
        NodeLabelEditEventArgs e)
    {
        // Determine whether the user has selected the top node. If so,
        // change the LabelEdit property to false so the user cannot
        // edit this label.  
        if (e.get_Node().Equals(treeView1.get_TopNode())) {
            treeView1.set_LabelEdit(false);
            MessageBox.Show("You are not allowed to edit the top node");
        }
        // Set the LabelEdit property to true again.
        treeView1.set_LabelEdit(true);
    } //treeView1_BeforeLabelEdit
...    // Handle the After_Select event.
    private void treeView1_AfterSelect(Object sender,
        System.Windows.Forms.TreeViewEventArgs e)
    {
        // Vary the response depending on which TreeViewAction
        // triggered the event. 
        switch (e.get_Action()) {
            case TreeViewAction.ByKeyboard:
                MessageBox.Show("You like the keyboard!");
                break;
            case TreeViewAction.ByMouse:
                MessageBox.Show("You like the mouse!");
                break;
        }
    } //treeView1_AfterSelect

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft