کنترل TreeView در #C سی شارپ

کنترل TreeView برای نمایش داده های سلسله مراتبی استفاده میشه. یکی از معمولی ترین کاربرد TreeView در اکسپلورر ه که می تونید ازTreeView برای راهبری پوشه ها و درایوها استفاده کنید.
عناصر TreeView در مجموعه nodes قرار می گیرند.
که مشابه مجموعه items در listview هست.
برای شروع یک کنترل TreeView در فرم قرار بدید.

treeView1.Nodes.Add("vb.net");

توضیح کد: دو نود به TreeView شما اضافه می کنه با متن های vb.net و c#
اگر بخواید نود شما فرزند داشته باشه بصورت زیر عمل کنید:

TreeNode objNode;
objNode = treeView1.Nodes.Add("Mobina");
objNode.Nodes.Add("C#");

توضیح کد: یک نود با متن مبینا ایجاد میشه که نودی به عنوان فرزند با متن C# داره.
یا می تونید این کد رو به این صورت بنویسید:

treeView1.Nodes[0].Nodes.Add("Homa");

توضیح کد: به نود با اندیس صفر نود فرزندی با متن هما رو اضافه کن.

if (!(treeView1.SelectedNode==null ))
 treeView1 .Nodes .Remove (treeView1 .SelectedNode );

توضیح کد: کلیه ی نودهای درخت انتخاب شده رو حذف کن.(در رویداد یک باتن قرار دهید)
برای اینکه با کلیک بر روی نودی از درخت نود انتخاب شده را در یک لیبل مشاهده کنید در رویداد کلیک تری ویو کد زیر را وارد کنید:

 if (!(treeView1.SelectedNode == null))
label1.Text = treeView1.SelectedNode.ToString();

ارتباط TreeView به بانک اطلاعاتی
در برنامه ی زیر به تعداد رکوردهای موجود در جدول نود پدر به درخت اضافه میشود سپس فیلدهای هر رکورد بعنوان فرزند به نود مربوط به آن اضافه می گردد.

treeView2 .Nodes .Clear ();
SqlConnection connection1 = new SqlConnection("server=(local);database=EngStu;user=sa;password=sa");
SqlCommand command1 = new SqlCommand("select * from profile");
command1.Connection = connection1;
command1.Connection.Open();
SqlDataReader reader1 = command1.ExecuteReader();
for (int num1 = 0; reader1.Read(); num1++)
{
treeView2.Nodes.Add(reader1[0].ToString());
int num3 = reader1.FieldCount - 1;
for (int num2 = 0; num2 <= num3; num2++)
{
treeView2.Nodes[num1].Nodes.Add(reader1[num2].ToString());
}
}