PDA

View Full Version : سوال: forms



iranrose63
یک شنبه 22 اردیبهشت 1387, 11:46 صبح
سلام
ميخوام يه ليست از اسم تمام فرم هاي موجود در برنامم به دست بيارم راهش چيه؟
ممنون ميشم كمك كنيد.خيلي مهمه

smt_414
یک شنبه 22 اردیبهشت 1387, 12:47 عصر
سلام

این مطلب در گذشته هم سوال شده دقیق خاطرم نیست اما فکر کنم جناب رضوی جواب داده بودن

لطفا جستجو کنید


موفق باشید

علیرضا مداح
یک شنبه 22 اردیبهشت 1387, 12:50 عصر
سلام دوست عزیز


Type[] types = Assembly.GetExecutingAssembly().GetTypes();

foreach (Type type in types)
{
Type baseType = type.BaseType;
string name = type.Name;
while (baseType != null)
{
if (baseType.Equals(typeof(Form)))
{
listBox1.Items.Add(name);
break;
}
baseType = baseType.BaseType;
}
}

جستجو...

iranrose63
یک شنبه 22 اردیبهشت 1387, 13:48 عصر
ممنون
راه حلي كه شما بهم داديد اسم تمام فرم هاي موجود در برنامه رو به من ميده ولي من مي خوام يه ليست داشته باشم از نوع form كه شامل تمام فرم هاي برنامم باشه نه يه ليست از نوع string كه نام فرم هاي برنامم توش باشه
حالا راه حل چيه؟

علیرضا مداح
یک شنبه 22 اردیبهشت 1387, 18:01 عصر
دوست عزیز برای ایجاد یک نمونه از یک شیء از نوع Form در حافظه با داشتن FullName مربوط به آن Type میتوانید از نمونه کد زیر استفاده کنید :


object f = Assembly.GetExecutingAssembly().CreateInstance("Type.FullName");
if (f != null)
((Form)f).Show();

برای بدست آوردن FullName در کد ارائه شده در پست قبل خط زیر را پیدا کنید :


string name = type.Name;


و با این کد جایگزین کنید :



string name = type.FullName;

iranrose63
دوشنبه 23 اردیبهشت 1387, 08:52 صبح
متشكرم دوست عزيز ولي وقتي من از كد شما استفاده مي كنم بهم جواب نميده من يه جدول دارم كه يه ستون داره به نام work تو اون ستون من نام فرمي را كه مي خوام ذخيره مي كنم با استفاده از كد شما سعي كردم اون فرم خاص رو كه در work ذخيره شده فراخواني كنم ولي مقدار null بهم برميگردونه ميشه بگيد مشكل كد من چيه


object f = Assembly.GetExecutingAssembly().CreateInstance(wor k);
if (f != null)
{
sizeableform temp = (sizeableform)f;
temp.RegPath = Application.StartupPath + "\\" + work;
temp.Show();
}

sizeableform نام كلاس فرم من است
منتظرم

iranrose63
دوشنبه 23 اردیبهشت 1387, 09:27 صبح
مشكلم حل شد خيلي خيلي ازتون ممنونم آقاي مداح