<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FGUI_Windows_Forms%2FTreeView</id>
		<title>Csharp/CSharp Tutorial/GUI Windows Forms/TreeView - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FGUI_Windows_Forms%2FTreeView"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/TreeView&amp;action=history"/>
		<updated>2026-04-30T02:21:48Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/TreeView&amp;diff=5353&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/TreeView&amp;diff=5353&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/TreeView&amp;diff=5354&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/GUI_Windows_Forms/TreeView&amp;diff=5354&amp;oldid=prev"/>
				<updated>2010-05-26T12:15:06Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Directory TreeView==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
class MyClass : Form&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        Application.Run(new MyClass());&lt;br /&gt;
    }&lt;br /&gt;
    public MyClass()&lt;br /&gt;
    {&lt;br /&gt;
        TreeView tree = new TreeView();&lt;br /&gt;
        tree.Parent = this;&lt;br /&gt;
        tree.Dock = DockStyle.Fill;&lt;br /&gt;
        TreeNode nodeDriveC = new TreeNode(&amp;quot;C:\\&amp;quot;);&lt;br /&gt;
        tree.Nodes.Add(nodeDriveC);&lt;br /&gt;
        AddDirectories(nodeDriveC);&lt;br /&gt;
    }&lt;br /&gt;
    void AddDirectories(TreeNode node)&lt;br /&gt;
    {&lt;br /&gt;
        string strPath = node.FullPath;&lt;br /&gt;
        DirectoryInfo dirinfo = new DirectoryInfo(strPath);&lt;br /&gt;
        DirectoryInfo[] adirinfo;&lt;br /&gt;
        adirinfo = dirinfo.GetDirectories();&lt;br /&gt;
        foreach (DirectoryInfo di in adirinfo)&lt;br /&gt;
        {&lt;br /&gt;
            TreeNode nodeDir = new TreeNode(di.Name);&lt;br /&gt;
            node.Nodes.Add(nodeDir);&lt;br /&gt;
            AddDirectories(nodeDir);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hierarchical Tree View for displaying database table==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
  public class HierarchicalTreeView : System.Windows.Forms.Form&lt;br /&gt;
  {&lt;br /&gt;
    private System.Windows.Forms.TreeView tree;&lt;br /&gt;
    public HierarchicalTreeView()&lt;br /&gt;
    {&lt;br /&gt;
      this.tree = new System.Windows.Forms.TreeView();&lt;br /&gt;
      this.SuspendLayout();&lt;br /&gt;
      // &lt;br /&gt;
      this.tree.ImageIndex = -1;&lt;br /&gt;
      this.tree.Location = new System.Drawing.Point(8, 8);&lt;br /&gt;
      this.tree.Name = &amp;quot;tree&amp;quot;;&lt;br /&gt;
      this.tree.SelectedImageIndex = -1;&lt;br /&gt;
      this.tree.Size = new System.Drawing.Size(276, 248);&lt;br /&gt;
      this.tree.TabIndex = 0;&lt;br /&gt;
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);&lt;br /&gt;
      this.ClientSize = new System.Drawing.Size(292, 266);&lt;br /&gt;
      this.Controls.AddRange(new System.Windows.Forms.Control[] {this.tree});&lt;br /&gt;
      this.Text = &amp;quot;Hierarchical TreeView&amp;quot;;&lt;br /&gt;
      this.Load += new System.EventHandler(this.HierarchicalTreeView_Load);&lt;br /&gt;
      this.ResumeLayout(false);&lt;br /&gt;
    }&lt;br /&gt;
    string connectionString = &amp;quot;Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI&amp;quot;;&lt;br /&gt;
    string categorySQL = &amp;quot;SELECT * FROM Categories&amp;quot;;&lt;br /&gt;
    string productSQL = &amp;quot;SELECT * FROM Products&amp;quot;;&lt;br /&gt;
    private void HierarchicalTreeView_Load(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      SqlConnection con = new SqlConnection(connectionString);&lt;br /&gt;
      SqlCommand com = new SqlCommand(categorySQL, con);&lt;br /&gt;
      SqlDataAdapter adapter = new SqlDataAdapter(com);&lt;br /&gt;
      DataSet ds = new DataSet();&lt;br /&gt;
    &lt;br /&gt;
      con.Open();&lt;br /&gt;
      adapter.Fill(ds, &amp;quot;Categories&amp;quot;);&lt;br /&gt;
      adapter.SelectCommand.rumandText = productSQL;&lt;br /&gt;
      adapter.Fill(ds, &amp;quot;Products&amp;quot;);&lt;br /&gt;
      con.Close();&lt;br /&gt;
      DataColumn parentCol = ds.Tables[&amp;quot;Categories&amp;quot;].Columns[&amp;quot;CategoryID&amp;quot;];&lt;br /&gt;
      DataColumn childCol = ds.Tables[&amp;quot;Products&amp;quot;].Columns[&amp;quot;CategoryID&amp;quot;];&lt;br /&gt;
      DataRelation relation = new DataRelation(&amp;quot;Cat_Prod&amp;quot;, parentCol, childCol);&lt;br /&gt;
      ds.Relations.Add(relation);&lt;br /&gt;
      foreach (DataRow parent in ds.Tables[&amp;quot;Categories&amp;quot;].Rows)&lt;br /&gt;
      {&lt;br /&gt;
        TreeNode nodeParent = tree.Nodes.Add(parent[&amp;quot;CategoryName&amp;quot;].ToString());&lt;br /&gt;
        foreach (DataRow child in parent.GetChildRows(relation))&lt;br /&gt;
        {&lt;br /&gt;
          nodeParent.Nodes.Add(child[&amp;quot;ProductName&amp;quot;].ToString());&lt;br /&gt;
        }    &lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
      Application.Run(new HierarchicalTreeView());&lt;br /&gt;
    }&lt;br /&gt;
  }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simple Treeview==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Data;&lt;br /&gt;
  public class SimpleTvForm : System.Windows.Forms.Form&lt;br /&gt;
  {&lt;br /&gt;
    private System.Windows.Forms.TreeView tvSimple;&lt;br /&gt;
    private System.Windows.Forms.Button cmdExpandAll;&lt;br /&gt;
    private System.Windows.Forms.Button cmdCollapseAll;&lt;br /&gt;
    private System.Windows.Forms.ContextMenu ctxmTvNodes;&lt;br /&gt;
    private System.Windows.Forms.MenuItem mnuExpandNode;&lt;br /&gt;
    private System.Windows.Forms.MenuItem mnuCollapseNode;&lt;br /&gt;
    public SimpleTvForm()&lt;br /&gt;
    {&lt;br /&gt;
      this.tvSimple = new System.Windows.Forms.TreeView();&lt;br /&gt;
      this.ctxmTvNodes = new System.Windows.Forms.ContextMenu();&lt;br /&gt;
      this.mnuExpandNode = new System.Windows.Forms.MenuItem();&lt;br /&gt;
      this.mnuCollapseNode = new System.Windows.Forms.MenuItem();&lt;br /&gt;
      this.cmdExpandAll = new System.Windows.Forms.Button();&lt;br /&gt;
      this.cmdCollapseAll = new System.Windows.Forms.Button();&lt;br /&gt;
      this.SuspendLayout();&lt;br /&gt;
      // &lt;br /&gt;
      // tvSimple&lt;br /&gt;
      // &lt;br /&gt;
      this.tvSimple.ContextMenu = this.ctxmTvNodes;&lt;br /&gt;
      this.tvSimple.ImageIndex = -1;&lt;br /&gt;
      this.tvSimple.Location = new System.Drawing.Point(8, 8);&lt;br /&gt;
      this.tvSimple.Name = &amp;quot;tvSimple&amp;quot;;&lt;br /&gt;
      this.tvSimple.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {&lt;br /&gt;
                                         new System.Windows.Forms.TreeNode(&amp;quot;Continents&amp;quot;, new System.Windows.Forms.TreeNode[] {&lt;br /&gt;
                                                                                     new System.Windows.Forms.TreeNode(&amp;quot;Africa&amp;quot;),&lt;br /&gt;
                                                                                     new System.Windows.Forms.TreeNode(&amp;quot;America&amp;quot;),&lt;br /&gt;
                                                                                     new System.Windows.Forms.TreeNode(&amp;quot;Europe&amp;quot;),&lt;br /&gt;
                                                                                     new System.Windows.Forms.TreeNode(&amp;quot;Asia&amp;quot;),&lt;br /&gt;
                                                                                     new System.Windows.Forms.TreeNode(&amp;quot;Australia&amp;quot;)}),&lt;br /&gt;
                                         new System.Windows.Forms.TreeNode(&amp;quot;SUV\&amp;quot;s&amp;quot;, new System.Windows.Forms.TreeNode[] {&lt;br /&gt;
                                                                                   new System.Windows.Forms.TreeNode(&amp;quot;Hummer&amp;quot;),&lt;br /&gt;
                                                                                   new System.Windows.Forms.TreeNode(&amp;quot;Pinzgauer&amp;quot;)})});&lt;br /&gt;
      this.tvSimple.SelectedImageIndex = -1;&lt;br /&gt;
      this.tvSimple.Size = new System.Drawing.Size(272, 232);&lt;br /&gt;
      this.tvSimple.TabIndex = 0;&lt;br /&gt;
      this.tvSimple.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.AfterSelect);&lt;br /&gt;
      // &lt;br /&gt;
      // ctxmTvNodes&lt;br /&gt;
      // &lt;br /&gt;
      this.ctxmTvNodes.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {&lt;br /&gt;
                                            this.mnuExpandNode,&lt;br /&gt;
                                            this.mnuCollapseNode});&lt;br /&gt;
      // &lt;br /&gt;
      // mnuExpandNode&lt;br /&gt;
      // &lt;br /&gt;
      this.mnuExpandNode.Index = 0;&lt;br /&gt;
      this.mnuExpandNode.Text = &amp;quot;Expand node&amp;quot;;&lt;br /&gt;
      this.mnuExpandNode.Click += new System.EventHandler(this.OnExpandNode);&lt;br /&gt;
      // &lt;br /&gt;
      // mnuCollapseNode&lt;br /&gt;
      // &lt;br /&gt;
      this.mnuCollapseNode.Index = 1;&lt;br /&gt;
      this.mnuCollapseNode.Text = &amp;quot;Collapse node&amp;quot;;&lt;br /&gt;
      this.mnuCollapseNode.Click += new System.EventHandler(this.OnCollapseNode);&lt;br /&gt;
      // &lt;br /&gt;
      // cmdExpandAll&lt;br /&gt;
      // &lt;br /&gt;
      this.cmdExpandAll.Location = new System.Drawing.Point(8, 256);&lt;br /&gt;
      this.cmdExpandAll.Name = &amp;quot;cmdExpandAll&amp;quot;;&lt;br /&gt;
      this.cmdExpandAll.TabIndex = 1;&lt;br /&gt;
      this.cmdExpandAll.Text = &amp;quot;expand all&amp;quot;;&lt;br /&gt;
      this.cmdExpandAll.Click += new System.EventHandler(this.cmdExpandAll_Click);&lt;br /&gt;
      // &lt;br /&gt;
      // cmdCollapseAll&lt;br /&gt;
      // &lt;br /&gt;
      this.cmdCollapseAll.Location = new System.Drawing.Point(96, 256);&lt;br /&gt;
      this.cmdCollapseAll.Name = &amp;quot;cmdCollapseAll&amp;quot;;&lt;br /&gt;
      this.cmdCollapseAll.TabIndex = 2;&lt;br /&gt;
      this.cmdCollapseAll.Text = &amp;quot;collapse all&amp;quot;;&lt;br /&gt;
      this.cmdCollapseAll.Click += new System.EventHandler(this.cmdCollapseAll_Click);&lt;br /&gt;
      // &lt;br /&gt;
      // SimpleTvForm&lt;br /&gt;
      // &lt;br /&gt;
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);&lt;br /&gt;
      this.ClientSize = new System.Drawing.Size(292, 301);&lt;br /&gt;
      this.Controls.AddRange(new System.Windows.Forms.Control[] {&lt;br /&gt;
                                      this.cmdCollapseAll,&lt;br /&gt;
                                      this.cmdExpandAll,&lt;br /&gt;
                                      this.tvSimple});&lt;br /&gt;
      this.Name = &amp;quot;SimpleTvForm&amp;quot;;&lt;br /&gt;
      this.Text = &amp;quot;Simple&amp;quot;;&lt;br /&gt;
      this.ResumeLayout(false);&lt;br /&gt;
    }&lt;br /&gt;
    static void Main() &lt;br /&gt;
    {&lt;br /&gt;
      Application.Run(new SimpleTvForm());&lt;br /&gt;
    }&lt;br /&gt;
    private void AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      // MessageBox.Show(&amp;quot;Node &amp;quot; +  e.Node.FullPath + &amp;quot; was selected&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private void cmdExpandAll_Click(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      tvSimple.ExpandAll();&lt;br /&gt;
    }&lt;br /&gt;
    private void cmdCollapseAll_Click(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      tvSimple.CollapseAll();&lt;br /&gt;
    }&lt;br /&gt;
    private void OnExpandNode(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      TreeNode tn = tvSimple.SelectedNode;&lt;br /&gt;
      if (null == tn) return;&lt;br /&gt;
      tn.ExpandAll();&lt;br /&gt;
    }&lt;br /&gt;
    private void OnCollapseNode(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      TreeNode tn = tvSimple.SelectedNode;&lt;br /&gt;
      if (null == tn) return;&lt;br /&gt;
      tn.Collapse();&lt;br /&gt;
    }&lt;br /&gt;
  }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tree node foreground and background color, tooltips==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
public partial class Form1 : Form&lt;br /&gt;
{&lt;br /&gt;
    public Form1()&lt;br /&gt;
    {&lt;br /&gt;
        InitializeComponent();&lt;br /&gt;
    }&lt;br /&gt;
    private void button1_Click(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        treeView1.Nodes.Clear();&lt;br /&gt;
        treeView1.ShowNodeToolTips = true;&lt;br /&gt;
        TreeNode evenNumbers = treeView1.Nodes.Add(&amp;quot;Even&amp;quot;, &amp;quot;Even Numbers&amp;quot;, 0,1);&lt;br /&gt;
        evenNumbers.BackColor = Color.Blue;&lt;br /&gt;
        evenNumbers.ForeColor = Color.Yellow;&lt;br /&gt;
        evenNumbers.ToolTipText = &amp;quot;The even numbers&amp;quot;;&lt;br /&gt;
        TreeNode oddNumbers =  treeView1.Nodes.Add(&amp;quot;Odd&amp;quot;, &amp;quot;Odd Numbers&amp;quot;, 0,1);&lt;br /&gt;
        oddNumbers.BackColor = Color.Yellow;&lt;br /&gt;
        oddNumbers.ForeColor = Color.Blue;&lt;br /&gt;
        oddNumbers.ToolTipText = &amp;quot;The odd numbers&amp;quot;;&lt;br /&gt;
        for (int i = 1; i &amp;lt; 50; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if (i % 2 == 0)&lt;br /&gt;
            {&lt;br /&gt;
                evenNumbers.Nodes.Add(i.ToString());&lt;br /&gt;
            } else {&lt;br /&gt;
                oddNumbers.Nodes.Add(i.ToString() );&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        TreeNode selectedNode = e.Node;&lt;br /&gt;
        if (selectedNode.Nodes.ContainsKey(&amp;quot;1&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;This node contains &amp;quot;1&amp;quot;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
partial class Form1&lt;br /&gt;
{&lt;br /&gt;
    private void InitializeComponent()&lt;br /&gt;
    {&lt;br /&gt;
        this.treeView1 = new System.Windows.Forms.TreeView();&lt;br /&gt;
        this.button1 = new System.Windows.Forms.Button();&lt;br /&gt;
        this.SuspendLayout();&lt;br /&gt;
        // &lt;br /&gt;
        // treeView1&lt;br /&gt;
        // &lt;br /&gt;
        this.treeView1.Location = new System.Drawing.Point(16, 50);&lt;br /&gt;
        this.treeView1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);&lt;br /&gt;
        this.treeView1.Name = &amp;quot;treeView1&amp;quot;;&lt;br /&gt;
        this.treeView1.Size = new System.Drawing.Size(194, 149);&lt;br /&gt;
        this.treeView1.TabIndex = 0;&lt;br /&gt;
        this.treeView1.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick);&lt;br /&gt;
        // &lt;br /&gt;
        // button1&lt;br /&gt;
        // &lt;br /&gt;
        this.button1.Location = new System.Drawing.Point(16, 15);&lt;br /&gt;
        this.button1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);&lt;br /&gt;
        this.button1.Name = &amp;quot;button1&amp;quot;;&lt;br /&gt;
        this.button1.Size = new System.Drawing.Size(100, 28);&lt;br /&gt;
        this.button1.TabIndex = 1;&lt;br /&gt;
        this.button1.Text = &amp;quot;Load&amp;quot;;&lt;br /&gt;
        this.button1.Click += new System.EventHandler(this.button1_Click);&lt;br /&gt;
        // &lt;br /&gt;
        // Form1&lt;br /&gt;
        // &lt;br /&gt;
        this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);&lt;br /&gt;
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;
        this.ClientSize = new System.Drawing.Size(229, 213);&lt;br /&gt;
        this.Controls.Add(this.button1);&lt;br /&gt;
        this.Controls.Add(this.treeView1);&lt;br /&gt;
        this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);&lt;br /&gt;
        this.Name = &amp;quot;Form1&amp;quot;;&lt;br /&gt;
        this.Text = &amp;quot;Form1&amp;quot;;&lt;br /&gt;
        this.ResumeLayout(false);&lt;br /&gt;
    }&lt;br /&gt;
    private System.Windows.Forms.TreeView treeView1;&lt;br /&gt;
    private System.Windows.Forms.Button button1;&lt;br /&gt;
    private System.Windows.Forms.ImageList imageList1;&lt;br /&gt;
}&lt;br /&gt;
public class TreeViewNodeBackgroundForegroundTooltip&lt;br /&gt;
{&lt;br /&gt;
    [STAThread]&lt;br /&gt;
    static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        Application.EnableVisualStyles();&lt;br /&gt;
        Application.Run(new Form1());&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TreeView: Add Nodes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
public partial class Form1 : Form&lt;br /&gt;
{&lt;br /&gt;
    public Form1()&lt;br /&gt;
    {&lt;br /&gt;
        InitializeComponent();&lt;br /&gt;
    }&lt;br /&gt;
    private void button1_Click(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        treeView1.Nodes.Clear();&lt;br /&gt;
        TreeNode evenNumbers = treeView1.Nodes.Add(&amp;quot;Even Numbers&amp;quot;);&lt;br /&gt;
        TreeNode oddNumbers =  treeView1.Nodes.Add(&amp;quot;Odd Numbers&amp;quot;);&lt;br /&gt;
        for (int i = 1; i &amp;lt; 500; i++)&lt;br /&gt;
        {&lt;br /&gt;
            if (i % 2 == 0)&lt;br /&gt;
            {&lt;br /&gt;
                evenNumbers.Nodes.Add(i.ToString());&lt;br /&gt;
            } else {&lt;br /&gt;
                oddNumbers.Nodes.Add(i.ToString() );&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
partial class Form1&lt;br /&gt;
{&lt;br /&gt;
    private void InitializeComponent()&lt;br /&gt;
    {&lt;br /&gt;
        this.treeView1 = new System.Windows.Forms.TreeView();&lt;br /&gt;
        this.button1 = new System.Windows.Forms.Button();&lt;br /&gt;
        this.SuspendLayout();&lt;br /&gt;
        // &lt;br /&gt;
        // treeView1&lt;br /&gt;
        // &lt;br /&gt;
        this.treeView1.Location = new System.Drawing.Point(16, 50);&lt;br /&gt;
        this.treeView1.Margin = new System.Windows.Forms.Padding(4);&lt;br /&gt;
        this.treeView1.Name = &amp;quot;treeView1&amp;quot;;&lt;br /&gt;
        this.treeView1.Size = new System.Drawing.Size(286, 313);&lt;br /&gt;
        this.treeView1.TabIndex = 0;&lt;br /&gt;
        // &lt;br /&gt;
        // button1&lt;br /&gt;
        // &lt;br /&gt;
        this.button1.Location = new System.Drawing.Point(16, 15);&lt;br /&gt;
        this.button1.Margin = new System.Windows.Forms.Padding(4);&lt;br /&gt;
        this.button1.Name = &amp;quot;button1&amp;quot;;&lt;br /&gt;
        this.button1.Size = new System.Drawing.Size(100, 28);&lt;br /&gt;
        this.button1.TabIndex = 1;&lt;br /&gt;
        this.button1.Text = &amp;quot;Load&amp;quot;;&lt;br /&gt;
        this.button1.Click += new System.EventHandler(this.button1_Click);&lt;br /&gt;
        // &lt;br /&gt;
        // Form1&lt;br /&gt;
        // &lt;br /&gt;
        this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);&lt;br /&gt;
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;
        this.ClientSize = new System.Drawing.Size(316, 390);&lt;br /&gt;
        this.Controls.Add(this.button1);&lt;br /&gt;
        this.Controls.Add(this.treeView1);&lt;br /&gt;
        this.Margin = new System.Windows.Forms.Padding(4);&lt;br /&gt;
        this.Name = &amp;quot;Form1&amp;quot;;&lt;br /&gt;
        this.Text = &amp;quot;Form1&amp;quot;;&lt;br /&gt;
        this.ResumeLayout(false);&lt;br /&gt;
    }&lt;br /&gt;
    private System.Windows.Forms.TreeView treeView1;&lt;br /&gt;
    private System.Windows.Forms.Button button1;&lt;br /&gt;
}&lt;br /&gt;
public class TreeViewAddItems&lt;br /&gt;
{&lt;br /&gt;
    [STAThread]&lt;br /&gt;
    static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        Application.EnableVisualStyles();&lt;br /&gt;
        Application.Run(new Form1());&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TreeView selection event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Data;&lt;br /&gt;
public class Form1 : Form&lt;br /&gt;
{&lt;br /&gt;
  private TreeView treeView1;&lt;br /&gt;
  private Splitter splitter1;&lt;br /&gt;
  private ListView listView1;&lt;br /&gt;
  public Form1()&lt;br /&gt;
  {&lt;br /&gt;
    InitializeComponent();&lt;br /&gt;
  }&lt;br /&gt;
  private void InitializeComponent()&lt;br /&gt;
  {&lt;br /&gt;
    this.treeView1 = new TreeView();&lt;br /&gt;
    this.splitter1 = new Splitter();&lt;br /&gt;
    this.listView1 = new ListView();&lt;br /&gt;
    this.SuspendLayout();&lt;br /&gt;
    this.treeView1.Dock = DockStyle.Left;&lt;br /&gt;
    this.treeView1.Name = &amp;quot;treeView1&amp;quot;;&lt;br /&gt;
    this.treeView1.Nodes.AddRange(new TreeNode[] {new TreeNode(&amp;quot;Vehicles&amp;quot;, 0, 0, new TreeNode[] {new TreeNode(&amp;quot;Cars&amp;quot;, 0, 0, new TreeNode[] {new TreeNode(&amp;quot;Item1&amp;quot;, 0, 0),new TreeNode(&amp;quot;Item2&amp;quot;, 0, 0)}),new TreeNode(&amp;quot;Trucks&amp;quot;, 0, 0, new TreeNode[] {&lt;br /&gt;
        new TreeNode(&amp;quot;Pickups&amp;quot;),new TreeNode(&amp;quot;Utility vans&amp;quot;)})})});&lt;br /&gt;
    this.treeView1.Size = new System.Drawing.Size(192, 293);&lt;br /&gt;
    this.treeView1.TabIndex = 0;&lt;br /&gt;
    this.treeView1.AfterSelect += new TreeViewEventHandler(this.treeView1_AfterSelect);&lt;br /&gt;
    // &lt;br /&gt;
    // splitter1&lt;br /&gt;
    // &lt;br /&gt;
    this.splitter1.Location = new System.Drawing.Point(192, 0);&lt;br /&gt;
    this.splitter1.Name = &amp;quot;splitter1&amp;quot;;&lt;br /&gt;
    this.splitter1.Size = new System.Drawing.Size(3, 293);&lt;br /&gt;
    this.splitter1.TabIndex = 1;&lt;br /&gt;
    this.splitter1.TabStop = false;&lt;br /&gt;
    // &lt;br /&gt;
    // listView1&lt;br /&gt;
    // &lt;br /&gt;
    this.listView1.Dock = DockStyle.Fill;&lt;br /&gt;
    this.listView1.Location = new System.Drawing.Point(195, 0);&lt;br /&gt;
    this.listView1.Name = &amp;quot;listView1&amp;quot;;&lt;br /&gt;
    this.listView1.Size = new System.Drawing.Size(141, 293);&lt;br /&gt;
    this.listView1.TabIndex = 2;&lt;br /&gt;
    this.listView1.View = View.List;&lt;br /&gt;
    this.listView1.ItemActivate += new System.EventHandler(this.listView1_ItemActivate);&lt;br /&gt;
    // &lt;br /&gt;
    // Form1&lt;br /&gt;
    // &lt;br /&gt;
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);&lt;br /&gt;
    this.ClientSize = new System.Drawing.Size(336, 293);&lt;br /&gt;
    this.Controls.AddRange(new Control[] {&lt;br /&gt;
                                             this.listView1,&lt;br /&gt;
                                             this.splitter1,&lt;br /&gt;
                                             this.treeView1});&lt;br /&gt;
    this.Name = &amp;quot;Form1&amp;quot;;&lt;br /&gt;
    this.Text = &amp;quot;Vehicle Hierarchy&amp;quot;;&lt;br /&gt;
    this.ResumeLayout(false);&lt;br /&gt;
  }&lt;br /&gt;
  [STAThread]&lt;br /&gt;
  static void Main() &lt;br /&gt;
  {&lt;br /&gt;
    Application.Run(new Form1());&lt;br /&gt;
  }&lt;br /&gt;
  private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
     switch (e.Node.Text)&lt;br /&gt;
     {&lt;br /&gt;
        case &amp;quot;Item1&amp;quot;:&lt;br /&gt;
           listView1.Clear();&lt;br /&gt;
           listView1.Items.Add(&amp;quot;A&amp;quot;,3);&lt;br /&gt;
           listView1.Items.Add(&amp;quot;B&amp;quot;, 4);&lt;br /&gt;
           listView1.Items.Add(&amp;quot;C&amp;quot;, 6);&lt;br /&gt;
           break;&lt;br /&gt;
           &lt;br /&gt;
        case &amp;quot;Item2&amp;quot;:&lt;br /&gt;
           listView1.Clear();&lt;br /&gt;
           listView1.Items.Add(&amp;quot;D&amp;quot;, 1);&lt;br /&gt;
           listView1.Items.Add(&amp;quot;E&amp;quot;, 2);&lt;br /&gt;
           listView1.Items.Add(&amp;quot;F&amp;quot;, 5);&lt;br /&gt;
           break;&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  private void listView1_ItemActivate(object sender, System.EventArgs e) {&lt;br /&gt;
   String strItem = listView1.FocusedItem.Text;&lt;br /&gt;
   MessageBox.Show(strItem);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Use TreeView to display Directories==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;/* Quote from &lt;br /&gt;
Programming .NET Windows Applications&lt;br /&gt;
By Jesse Liberty, Dan Hurwitz&lt;br /&gt;
First Edition October 2003 &lt;br /&gt;
Pages: 1246 (More details)&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.IO;        // necessary for Directory info&lt;br /&gt;
public class TreeViewDirectories : Form&lt;br /&gt;
{&lt;br /&gt;
  TreeView tvw;&lt;br /&gt;
  CheckBox cb;&lt;br /&gt;
  Button btnSelected;&lt;br /&gt;
  Button btnExpand;&lt;br /&gt;
  Button btnExpandAll;&lt;br /&gt;
  Button btnCollapse;&lt;br /&gt;
  Button btnCollapseAll;&lt;br /&gt;
  Button btnToggle;&lt;br /&gt;
  public TreeViewDirectories()&lt;br /&gt;
  {&lt;br /&gt;
    Size = new Size(400,600);&lt;br /&gt;
    ImageList imgList = new ImageList();&lt;br /&gt;
    Image img;&lt;br /&gt;
    String[] arFiles = {&amp;quot;1.ico&amp;quot;,&amp;quot;2.ico&amp;quot;,&amp;quot;3.ico&amp;quot;,&amp;quot;.ico&amp;quot;};&lt;br /&gt;
&lt;br /&gt;
    for (int i = 0; i &amp;lt; arFiles.Length; i++)&lt;br /&gt;
    {&lt;br /&gt;
      img = Image.FromFile(arFiles[i]);&lt;br /&gt;
      imgList.Images.Add(img);&lt;br /&gt;
    }&lt;br /&gt;
    tvw = new TreeView();&lt;br /&gt;
    tvw.Parent = this;&lt;br /&gt;
    tvw.Location = new Point(10,10);&lt;br /&gt;
    tvw.Size = new Size(ClientSize.Width - 20, Height - 200);&lt;br /&gt;
    tvw.Anchor = AnchorStyles.Top | AnchorStyles.Left | &lt;br /&gt;
          AnchorStyles.Right | AnchorStyles.Bottom;&lt;br /&gt;
    tvw.BackColor = Color.Moccasin;&lt;br /&gt;
    tvw.ForeColor = Color.DarkRed;&lt;br /&gt;
    tvw.BorderStyle = BorderStyle.Fixed3D;&lt;br /&gt;
    tvw.FullRowSelect = false;    &lt;br /&gt;
    tvw.ShowLines = true;      &lt;br /&gt;
    tvw.ShowPlusMinus = true;    &lt;br /&gt;
    tvw.Scrollable = true;      &lt;br /&gt;
    tvw.HideSelection = false;  &lt;br /&gt;
    tvw.HotTracking = true;  &lt;br /&gt;
    tvw.ImageList = imgList;&lt;br /&gt;
    tvw.ImageIndex = 1;&lt;br /&gt;
    tvw.SelectedImageIndex = 2;&lt;br /&gt;
    tvw.Indent = 35;&lt;br /&gt;
    tvw.Font = new Font(&amp;quot;Times New Roman&amp;quot;, 20f);&lt;br /&gt;
    tvw.ItemHeight = tvw.Font.Height * 2;&lt;br /&gt;
    tvw.BeforeExpand += new TreeViewCancelEventHandler(tvw_BeforeExpand);&lt;br /&gt;
    cb = new CheckBox();&lt;br /&gt;
    cb.Parent = this;&lt;br /&gt;
    cb.Location = new Point((Width - cb.Width) * 2 / 10, tvw.Bottom + 25);&lt;br /&gt;
    cb.Text = &amp;quot;Show Files&amp;quot;;&lt;br /&gt;
    cb.Anchor = AnchorStyles.Bottom;&lt;br /&gt;
    cb.CheckedChanged += new EventHandler(cb_CheckedChanged);&lt;br /&gt;
    btnSelected = new Button();&lt;br /&gt;
    btnSelected.Parent = this;&lt;br /&gt;
    btnSelected.Text = &amp;quot;&amp;amp;SelectedNode&amp;quot;;&lt;br /&gt;
    int xSize = ((int)(Font.Height * .75) * btnSelected.Text.Length);&lt;br /&gt;
    int ySize = Font.Height + 10;&lt;br /&gt;
    btnSelected.Size = new Size(xSize, ySize);&lt;br /&gt;
    btnSelected.Location = new Point(cb.Left, cb.Bottom + ySize);&lt;br /&gt;
    btnSelected.Anchor = AnchorStyles.Bottom;&lt;br /&gt;
    btnSelected.Click += new EventHandler(btnSelected_Click);&lt;br /&gt;
    btnToggle = new Button();&lt;br /&gt;
    btnToggle.Parent = this;&lt;br /&gt;
    btnToggle.Location = new Point((Width - cb.Width) * 7 / 10,&lt;br /&gt;
                                      cb.Top);&lt;br /&gt;
    btnToggle.Text = &amp;quot;&amp;amp;Toggle&amp;quot;;&lt;br /&gt;
    btnToggle.Size = new Size(btnSelected.Width, btnSelected.Height);&lt;br /&gt;
    btnToggle.Anchor = AnchorStyles.Bottom;&lt;br /&gt;
    btnToggle.Click += new EventHandler(btnToggle_Click);&lt;br /&gt;
    btnExpand = new Button();&lt;br /&gt;
    btnExpand.Parent = this;&lt;br /&gt;
    btnExpand.Location = new Point(btnToggle.Left, btnToggle.Bottom);&lt;br /&gt;
    btnExpand.Text = &amp;quot;&amp;amp;Expand&amp;quot;;&lt;br /&gt;
    btnExpand.Size = new Size(btnSelected.Width, btnSelected.Height);&lt;br /&gt;
    btnExpand.Anchor = AnchorStyles.Bottom;&lt;br /&gt;
    btnExpand.Click += new EventHandler(btnExpand_Click);&lt;br /&gt;
    btnExpandAll = new Button();&lt;br /&gt;
    btnExpandAll.Parent = this;&lt;br /&gt;
    btnExpandAll.Location = new Point(btnExpand.Left, btnExpand.Bottom);&lt;br /&gt;
    btnExpandAll.Text = &amp;quot;Expand &amp;amp;All&amp;quot;;&lt;br /&gt;
    btnExpandAll.Size = new Size(btnSelected.Width, btnSelected.Height);&lt;br /&gt;
    btnExpandAll.Anchor = AnchorStyles.Bottom;&lt;br /&gt;
    btnExpandAll.Click += new EventHandler(btnExpandAll_Click);&lt;br /&gt;
    btnCollapse = new Button();&lt;br /&gt;
    btnCollapse.Parent = this;&lt;br /&gt;
    btnCollapse.Location = new Point(btnExpandAll.Left, btnExpandAll.Bottom);&lt;br /&gt;
    btnCollapse.Text = &amp;quot;&amp;amp;Collapse&amp;quot;;&lt;br /&gt;
    btnCollapse.Size = new Size(btnSelected.Width, btnSelected.Height);&lt;br /&gt;
    btnCollapse.Anchor = AnchorStyles.Bottom;&lt;br /&gt;
    btnCollapse.Click += new EventHandler(btnCollapse_Click);&lt;br /&gt;
    btnCollapseAll = new Button();&lt;br /&gt;
    btnCollapseAll.Parent = this;&lt;br /&gt;
    btnCollapseAll.Location = new Point(btnCollapse.Left, btnCollapse.Bottom);&lt;br /&gt;
    btnCollapseAll.Text = &amp;quot;Colla&amp;amp;pse All&amp;quot;;&lt;br /&gt;
    btnCollapseAll.Size = new Size(btnSelected.Width, btnSelected.Height);&lt;br /&gt;
    btnCollapseAll.Anchor = AnchorStyles.Bottom;&lt;br /&gt;
    btnCollapseAll.Click += new EventHandler(btnCollapseAll_Click);&lt;br /&gt;
    FillDirectoryTree();&lt;br /&gt;
  }&lt;br /&gt;
  static void Main() &lt;br /&gt;
  {&lt;br /&gt;
    Application.Run(new TreeViewDirectories());&lt;br /&gt;
  }&lt;br /&gt;
  private void FillDirectoryTree()&lt;br /&gt;
  {&lt;br /&gt;
    tvw.BeginUpdate();&lt;br /&gt;
    tvw.Nodes.Clear();&lt;br /&gt;
    string[] strDrives = Environment.GetLogicalDrives();&lt;br /&gt;
        foreach (string rootDirectoryName in strDrives)&lt;br /&gt;
       {&lt;br /&gt;
      try &lt;br /&gt;
      {&lt;br /&gt;
        Directory.GetDirectories(rootDirectoryName);&lt;br /&gt;
        TreeNode ndRoot = new TreeNode(rootDirectoryName);&lt;br /&gt;
        tvw.Nodes.Add(ndRoot);&lt;br /&gt;
        if (ndRoot.Index % 2 == 0)&lt;br /&gt;
        {&lt;br /&gt;
          ndRoot.BackColor = Color.LightYellow;&lt;br /&gt;
          ndRoot.ForeColor = Color.Green;&lt;br /&gt;
        }&lt;br /&gt;
        GetSubDirectoryNodes(ndRoot, cb.Checked);&lt;br /&gt;
      }&lt;br /&gt;
      catch  (System.IO.IOException)&lt;br /&gt;
      {&lt;br /&gt;
            }&lt;br /&gt;
      catch  (Exception e)&lt;br /&gt;
      {&lt;br /&gt;
        MessageBox.Show(e.Message);&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
     &lt;br /&gt;
      tvw.EndUpdate();&lt;br /&gt;
     &lt;br /&gt;
  }&lt;br /&gt;
  private void GetSubDirectoryNodes(TreeNode parentNode, bool getFileNames)&lt;br /&gt;
  {&lt;br /&gt;
    DirectoryInfo di = new DirectoryInfo(parentNode.FullPath);&lt;br /&gt;
    if ((di.Attributes &amp;amp; FileAttributes.Directory) == 0)&lt;br /&gt;
    {&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    parentNode.Nodes.Clear();&lt;br /&gt;
    string[] arSubs = Directory.GetDirectories(parentNode.FullPath);&lt;br /&gt;
    foreach (string subDir in arSubs)&lt;br /&gt;
    {&lt;br /&gt;
          DirectoryInfo dirInfo = new DirectoryInfo(subDir);&lt;br /&gt;
            if ((dirInfo.Attributes &amp;amp; FileAttributes.Hidden)!= 0)&lt;br /&gt;
            {&lt;br /&gt;
               continue;&lt;br /&gt;
            }&lt;br /&gt;
      TreeNode subNode = new TreeNode(dirInfo.Name);&lt;br /&gt;
      parentNode.Nodes.Add(subNode);&lt;br /&gt;
        &lt;br /&gt;
      //  Set colors based on Index property.&lt;br /&gt;
      if (subNode.Index % 2 == 0)&lt;br /&gt;
        subNode.BackColor = Color.LightPink;&lt;br /&gt;
    }&lt;br /&gt;
    if (getFileNames)&lt;br /&gt;
    {&lt;br /&gt;
            //  Get any files for this node.&lt;br /&gt;
          string[] files = Directory.GetFiles(parentNode.FullPath);&lt;br /&gt;
            // After placing the nodes, &lt;br /&gt;
            // now place the files in that subdirectory.&lt;br /&gt;
            foreach (string str in files)&lt;br /&gt;
            {&lt;br /&gt;
        FileInfo fi = new FileInfo(str);&lt;br /&gt;
        TreeNode fileNode = new TreeNode(fi.Name);&lt;br /&gt;
        parentNode.Nodes.Add(fileNode);&lt;br /&gt;
        //  Set the icon&lt;br /&gt;
        fileNode.ImageIndex = 0;&lt;br /&gt;
        fileNode.SelectedImageIndex = 3;&lt;br /&gt;
        //  Set colors based on Index property.&lt;br /&gt;
        if (fileNode.Index % 2 == 0)&lt;br /&gt;
          fileNode.BackColor = Color.LightGreen;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
  }  // close GetSubDirectoryNodes&lt;br /&gt;
&lt;br /&gt;
  private void cb_CheckedChanged(object sender, EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    FillDirectoryTree();&lt;br /&gt;
  }&lt;br /&gt;
  private void tvw_BeforeExpand(object sender, &lt;br /&gt;
                TreeViewCancelEventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    tvw.BeginUpdate();&lt;br /&gt;
    foreach (TreeNode tn in e.Node.Nodes)&lt;br /&gt;
    {&lt;br /&gt;
      GetSubDirectoryNodes(tn, cb.Checked);&lt;br /&gt;
    }&lt;br /&gt;
    tvw.EndUpdate();      &lt;br /&gt;
  }    &lt;br /&gt;
  private void btnSelected_Click(object sender, EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    MessageBox.Show(tvw.SelectedNode.ToString() + &amp;quot;\n&amp;quot; +&lt;br /&gt;
        &amp;quot;FullPath:\t&amp;quot; + tvw.SelectedNode.FullPath.ToString() + &amp;quot;\n&amp;quot; +&lt;br /&gt;
           &amp;quot;Index:\t&amp;quot; + tvw.SelectedNode.Index.ToString());&lt;br /&gt;
  }&lt;br /&gt;
  private void btnExpand_Click(object sender, EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    tvw.SelectedNode.Expand();&lt;br /&gt;
  }&lt;br /&gt;
  private void btnExpandAll_Click(object sender, EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    tvw.SelectedNode.ExpandAll();&lt;br /&gt;
  }&lt;br /&gt;
  private void btnCollapse_Click(object sender, EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    tvw.SelectedNode.Collapse();&lt;br /&gt;
  }&lt;br /&gt;
  private void btnCollapseAll_Click(object sender, EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    tvw.CollapseAll();&lt;br /&gt;
  }&lt;br /&gt;
  private void btnToggle_Click(object sender, EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    tvw.SelectedNode.Toggle();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>