PDA

View Full Version : سوال: نودهای TreeView قابلیت انتخاب و اجرای دستور دارند ؟



samet_king
چهارشنبه 14 آذر 1397, 20:10 عصر
سلام و عرض خسته نباشید .

دوستان من تازه پا به دنیایی برنامه نویسی گذاشتم و زیاد حرفه ای نیستم . ممنون میشم خیلی ساده راهنمایی کنید .



من یه Treeview که به صورت دستی پرش کردم . حالا میخوام وقتی روی یکی از نودها کلیک میکنم دستوری که میخوام رو اجرا کنه (مثلا دستور
MessageBox.Show("test"); )

149381

alexmcse
چهارشنبه 14 آذر 1397, 20:43 عصر
یک مثال

کنترل تری ویو را در فرم قرار بده

private void Form1_Load(object sender, EventArgs e) {
for (int i = 0; i < 10; i++)
{
TreeNode tree = new TreeNode {Text = i.ToString()};
treeView1.Nodes.Add(tree);
}
}


private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
MessageBox.Show(e.Node.Text);
}
}

samet_king
پنج شنبه 15 آذر 1397, 06:52 صبح
یک مثال

کنترل تری ویو را در فرم قرار بده

private void Form1_Load(object sender, EventArgs e) {
for (int i = 0; i < 10; i++)
{
TreeNode tree = new TreeNode {Text = i.ToString()};
treeView1.Nodes.Add(tree);
}
}


private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
MessageBox.Show(e.Node.Text);
}
}


خوب الان نود مورد نظرم کجای کد باید قرار بدم ؟ فکر کنم تو این حالتی که شما فرمودین روی هر کدوم از نودها کلیک کنم پیغام میده . ولی من میخوام برای یک نود خاص یه دستور خاص انجام بده .

alexmcse
جمعه 16 آذر 1397, 17:35 عصر
باید شرط بگذاری
مثلا اگر بروی این نود کلیک شد فلان کار را انجام دهد

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) {


if (e.Node.Text == "5")
MessageBox.Show(e.Node.Text + "hello");
else if (e.Node.Text == "8")
MessageBox.Show(e.Node.Text + "good");


//یا


switch (e.Node.Text)
{
case "7":
MessageBox.Show(e.Node.Text + "ok");
break;
case "4":
MessageBox.Show(e.Node.Text + "by");
break;
case "2":
MessageBox.Show(e.Node.Text);
break;
}
}