PDA

View Full Version : سوال: کار نکردن رویداد تیری ویو - تری ویو - treeview



forodo
دوشنبه 18 شهریور 1392, 19:18 عصر
سلام
من یک تری ویو دارم که وقتی روی یکی از نودها کلیک می کنم یه اتفاقی می افته ولی اگر دوباره روی همون نود کلیک کنم دیگه اتفاقی که می خوام نمی افته و باید اول روی یک نود دیگر کلیک کنم و سپس دوباره روی نود مورد نظرم کلیک کنم.
چیکارش کنم تا درست شه؟
با تشکر

salargham
دوشنبه 18 شهریور 1392, 19:25 عصر
سلام
شما باید کدتون رو تو رویداد خاصی که مورد نظرتون هست بنویسید،که در این مورد شما در رویداد Validated،کدتون رو درج کنید.
یه نمونه برنامه براتون میزارم.

hamid_0341
دوشنبه 18 شهریور 1392, 19:27 عصر
سلام
شما باید کدتون رو تو رویداد خاصی که مورد نظرتون هست بنویسید،که در این مورد شما در رویداد Validated،کدتون رو درج کنید.
یه نمونه برنامه براتون میزارم.
لینک مشکل داره

salargham
دوشنبه 18 شهریور 1392, 19:37 عصر
لینک مشکل داره

برنامه دانلود میشه،مشکلی نداره!

forodo
دوشنبه 18 شهریور 1392, 19:46 عصر
تو رویداد پیش فرض خودش که AfterSelect باشه نوشتم و هیچ مشکلی ندارم.
تنها مشکلم اینه که وقتی دوبار با فاصله زمانی روی یک نود کلیک می کنم بار اول دستوراتم اجرا می شود ولی بار دوم اجرا نمی شود مگر اینکه روی نود دیگری کلیک کنم و سپس روی نود مورد نظرم کلیک کنم که به دلایلی نباید این کار را انجام دهم.
حتی تو رویداد Click هم نوشتم ولی دستوراتم به درسی انجام نمی شد.
اگر کدی باشه که مثلاً بعد از اجرای رویداد تری ویو اونو از اول راه اندازی کنه درست می شه ولی من اونو نمی دونم.

salargham
دوشنبه 18 شهریور 1392, 19:54 عصر
دقیقا رویداد Validated همین وظیفه رو داره!

forodo
دوشنبه 18 شهریور 1392, 20:18 عصر
از این رویداد استفاده کردم ولی موقعی که از تری ویو خارج می شم دستوراتم اجرا می شه.
من می خوام وقتی نود مورد نظرم رو انتخاب کردم دستوراتم اجرا بشه.

forodo
دوشنبه 18 شهریور 1392, 21:26 عصر
یکی کمک کنه.
نمی دونم چیکارش کنم.

forodo
دوشنبه 18 شهریور 1392, 22:41 عصر
دووووووووووووووستان!!!

forodo
سه شنبه 19 شهریور 1392, 14:26 عصر
یک نفر به من کمک کنه.

forodo
سه شنبه 19 شهریور 1392, 17:09 عصر
کسی نیست مارو راهنمایی کنه؟؟؟

salargham
سه شنبه 19 شهریور 1392, 18:04 عصر
دوست خوبم سورس برنامت رو بزار تا اطلاحش کنیم

forodo
سه شنبه 19 شهریور 1392, 18:25 عصر
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{

// بر اساس بخش کلمه برای جواب دادن آورده شود

// بخش اول //////////////////////////////
if (MessageBox.Show("آیا مایل به شروع کار هستید؟", "شروع به کار", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
txtRound.Enabled = false;
treeView1.Enabled = false;
ds.Clear();
lblQ.Text = rtxtQ.Text = "";
if (treeView1.Nodes[0].IsSelected)
{
if (!AdadNoTextBox("1"))
{
MessageBox.Show("در این بخش تعداد کلماتی که درخواست کرده اید وجود ندارد", "کمبود کلمه", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtRound.Enabled = true;
txtRound.Text = "";
return;

}

lblLevel.Text = "بخش اول";
KamKardan2();
Node1();

}
// بخش دوم //////////////////////////////
else if (treeView1.Nodes[1].IsSelected)
{
if (!AdadNoTextBox("2"))
{
MessageBox.Show("در این بخش تعداد کلماتی که درخواست کرده اید وجود ندارد", "کمبود کلمه", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtRound.Enabled = true;
txtRound.Text = "";
return;

}
lblLevel.Text = "بخش دوم";
KamKardan3();
Node2();

}
// بخش سوم //////////////////////////////
else if (treeView1.Nodes[2].IsSelected)
{
if (!AdadNoTextBox("4"))
{
MessageBox.Show("در این بخش تعداد کلماتی که درخواست کرده اید وجود ندارد", "کمبود کلمه", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtRound.Enabled = true;
txtRound.Text = "";
return;

}
lblLevel.Text = "بخش سوم";
KamKardan4();
Node3();

}
// بخش چهارم //////////////////////////////
else if (treeView1.Nodes[3].IsSelected)
{
if (!AdadNoTextBox("8"))
{
MessageBox.Show("در این بخش تعداد کلماتی که درخواست کرده اید وجود ندارد", "کمبود کلمه", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtRound.Enabled = true;
txtRound.Text = "";
return;

}
lblLevel.Text = "بخش چهارم";
KamKardan5();
Node4();

}
// بخش پنجم //////////////////////////////
else if (treeView1.Nodes[4].IsSelected)
{
if (!AdadNoTextBox("16"))
{
MessageBox.Show("در این بخش تعداد کلماتی که درخواست کرده اید وجود ندارد", "کمبود کلمه", MessageBoxButtons.OK, MessageBoxIcon.Error);
txtRound.Enabled = true;
txtRound.Text = "";
return;

}
lblLevel.Text = "بخش پنجم";
Node5();

}
}
else
{
txtRound.Text = "";
}
}

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

forodo
چهارشنبه 27 شهریور 1392, 20:53 عصر
چی شد دوووووووووووووووستان!؟!؟