PDA

View Full Version : در مورد Assembly



rostamkhani
سه شنبه 04 تیر 1392, 17:54 عصر
سلام به دوستان
میخواستم از یک Assembly که مثلا دارای چندین فرم هست فرم پیشفرض این Assembly رو پیدا کنم
ممنون

saied_hacker
سه شنبه 04 تیر 1392, 19:27 عصر
شما وقتی کلاس Program و تابع Main رو نگاه کنید، اسم فرمی که اول اجرا میشه رو نوشته ...

internal static class Program
{
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
try
{
Application.Run(new Form1());
}
catch (Exception exception)
{
MessageBox.Show(exception.Message);
}
}
}

اینجا :
Application.Run(new Form1());

rostamkhani
سه شنبه 11 تیر 1392, 01:59 صبح
ممنون ولی به چه شکل

این کد که من الان استفاده میکنم میاد اولین فرم اسمبلی رو میسازه در صورتی که من فرم پیشفرض رو میخوام همون فرمی که وقتی رو exe کلیک میشه باز میشه
برای مثال در کدی که گذاشتم Form1 رو باز میکنه در صورتیکه فرم پیشفرض Form2 است

Assembly asm = Assembly.LoadFile(Application.StartupPath + "\\a.exe");
Form frm=null;
var types = asm.GetTypes();
foreach (Type t in types)
{
if (t.BaseType == typeof(Form))
{
frm = (Form)Activator.CreateInstance(t);
break;
}
}
frm.Show();

hessam2003
سه شنبه 11 تیر 1392, 06:49 صبح
سلام.
در این دستور frm را نمایش میدهد.
frm را از نوع form2 ایجاد نشده؟

rostamkhani
چهارشنبه 12 تیر 1392, 10:52 صبح
سلام
Frm نباید از نوع Form2 باشد زیرا قرار هست هر فرمی که در Assembly وجود دارد یک نمونه ازش ساخته شود .

rostamkhani
یک شنبه 23 تیر 1392, 11:36 صبح
سلام
کسی راه حلی نداره
تشکر