PDA

View Full Version : سوال: بدست آوردن نام تمامی فرم های پروژه



hahaie
سه شنبه 24 فروردین 1395, 07:35 صبح
سلام دوستان
راهی هست که بشه نام همه فرم های پروژه رو بصورت لیست داشته باشیم؟؟

rezashaban
سه شنبه 24 فروردین 1395, 08:37 صبح
Do you mean:



Design-time?
Run-time?

If run-time, do you mean:


All forms defined in the project?
All open forms

If at Design-time, then I don't know.
If you mean at run-time, and you want all forms declared, you need to resort to reflection. Iterate through all types in your assembly(/ies) and find all types inheriting from the Form class.
Something like this would do:

Type formType =typeof(Form);
foreach(Type type inAssembly.GetExecutingAssembly().GetTypes())
if(formType.IsAssignableFrom(type))
{
// type is a Form
If you mean at run-time, and you want all open forms, you can use .
Application.OpenForms

hahaie
سه شنبه 24 فروردین 1395, 13:16 عصر
اینو قبلا دیده بودم تستش کردم ولی فقط نام فرم ی که این کد رو درش نوشتی نشون میده!!!

ebrahim.rayatparvar
چهارشنبه 25 فروردین 1395, 01:56 صبح
سلام دوست من.
این کد برای نمایش تمام فرم ها به غیر از فرم جاری هست :


private void GetFormNames()
{
Type[] AllTypesInProjects = Assembly.GetExecutingAssembly().GetTypes();
for (int i = 0; i < AllTypesInProjects.Length; i++)
{
if (AllTypesInProjects[i].BaseType == typeof (Form))
{
/* Convert Type to Object */
Form f = (Form) Activator.CreateInstance(AllTypesInProjects[i]);
string FormText = f.Text;
listBox1.Items.Add(FormText);
}
}
}



این هم کد تمام فرم های باز برنامه هست:


foreach (Form f in Application.OpenForms)
{
listBox1.Items.Add(f.Text);
}

danialafshari
پنج شنبه 26 فروردین 1395, 01:58 صبح
قبل از ایجاد تاپیک جستجو کنید
http://barnamenevis.org/showthread.php?498390-%D8%A8%D8%AF%D8%B3%D8%AA-%D8%A2%D9%88%D8%B1%D8%AF%D9%86-%D9%86%D8%A7%D9%85-%D8%AA%D9%85%D8%A7%D9%85-%D9%81%D8%B1%D9%85-%D9%87%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87

hahaie
پنج شنبه 26 فروردین 1395, 11:58 صبح
عذر خواهی میکنم ببخشید که سرچ نزده بودم راستش توی GOOGLE سرچ زدم ولی لینک بالایی رو نمیدونم چرا نمیاورد ولی الان میاره !! :گیج:
و سوال دیگه اینکه چطوری میشه نام تمامی اشیاء داخل یک فرم رو پیدا کرد؟؟
ممنون