PDA

View Full Version : تعريف محيتوي يه متغيير string بعنوان فرم و باز كردن فرم !!!



gama118
چهارشنبه 11 اسفند 1389, 16:19 عصر
سلام

من نام فرم هاي برنامه رو تو يه متغيير string ميريزم حالا ميخوان محتوي اين متغيير رو كه اسم فرم برنامه هست رو بعنوان form تعريف كنم و show كنم

مثلا تو فرم اصلي برنامه يه treeview دارم كه نام فرمهاي مربوط به هر نود رو تو tag هر نود ريختم حالا ميخوام با كليك كردن روي هر نود نام فرم رو از تو تگش بخونم و بازش كنم

چيكار بايد بكنم دستورش چيه

ehsanara
چهارشنبه 11 اسفند 1389, 18:02 عصر
میتونی از Switch استفاده کنی:



private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
switch (treeView1.Nodes[e.Node.Index].Text)
{
case "Form3":
new Form3().ShowDialog();
break;
case "Form4":
new Form4().ShowDialog();
break;
case "Form5":
new Form5().ShowDialog();
break;
}
}

اگه میخوای Child باشن هم اینطوری




private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
switch (treeView1.Nodes[e.Node.Index].Text)
{
case "Form3":
var child = new Form3 { MdiParent = this };
child.ShowDialog();
break;
case "Form4":
var child2 = new Form4 { MdiParent = this };
child2.ShowDialog();
break;
case "Form5":
var child3 = new Form5 { MdiParent = this };
child3.ShowDialog();
break;
}
}


فقط برا Child باید تو فرم اصلیت IsMdiContainer رو True کنی

علیرضا حسن زاده
چهارشنبه 11 اسفند 1389, 18:08 عصر
با reflection هم می تونید این کار رو انجام بدین
اما برام جالبه که چرا این کار رو کردین(منظورم اشتباه کردن شما نیست) می خوام هدفتون رو از این کار بدونم

ehsanara
چهارشنبه 11 اسفند 1389, 18:14 عصر
دوستان کدها چرا اینطور نشون داده میشه؟
من بعد از ذخیره کدی که گذاشتم رو درهم میبینم

gama118
پنج شنبه 12 اسفند 1389, 08:31 صبح
فكر كنم منظورم رو بد رسوندم

بينين من نام فرم رو از ديتا بيس دارم ميخونم حالا ميخوام اين فرمي رو كه نامش رو از تو ديتا بيس كه بصورت string هست خوندم رو show كنم

علیرضا حسن زاده
پنج شنبه 12 اسفند 1389, 09:36 صبح
برای این کار همون طور که قبلا هم گفتم (تاجایی که می دونم) تنها راه(برای اینکه برنامه حالت Dynamic داشته باشه) استفاده از Reflection هست
در موردش مطالعه کنید اگه نتیجه نگرفتین (جستجو رو فراموش نکنید) نمونه کد هم براتون آماده می کنم

محسن شامحمدی
پنج شنبه 12 اسفند 1389, 11:02 صبح
برای این کار همون طور که قبلا هم گفتم (تاجایی که می دونم) تنها راه(برای اینکه برنامه حالت Dynamic داشته باشه) استفاده از Reflection هست
در موردش مطالعه کنید اگه نتیجه نگرفتین (جستجو رو فراموش نکنید) نمونه کد هم براتون آماده می کنم

بفرما
توی این تاپیک تمام راه های این کار رو دوستان گفتند.
ساختن شیع از روی نام یک فرم که رشته است (http://barnamenevis.org/showthread.php?273697-%D8%B3%D8%A7%D8%AE%D8%AA%D9%86-%D8%B4%DB%8C%D8%B9-%D8%A7%D8%B2-%D8%B1%D9%88%DB%8C-%D9%86%D8%A7%D9%85-%DB%8C%DA%A9-%D9%81%D8%B1%D9%85-%DA%A9%D9%87-%D8%B1%D8%B4%D8%AA%D9%87-%D8%A7%D8%B3%D8%AA)