هل هناك إمكانية لعرض فورمة عن طريق Method عن طريق إعطائها إسم الفورمة مثلاً
كيفية عرض فورمة من خلال Method ?
Form1 f=new Form1();
f.Run(f);
void Run(object x)
{
x.Show();
}والله اعلم انا ماجربتش الكود ده
اللهم ارزقنا فهم النبيين وحفظ المرسلين
الشركة التطبيقية لخدمات الحاسب الالي [حاسب]
السلام عليكم
اقتباسهل هناك إمكانية لعرض فورمة عن طريق Method عن طريق إعطائها إسم الفورمة مثلاً
نعم
الداله
void FormShow(Form f)
{
f.Show();
}مثال
private void button1_Click(object sender, EventArgs e)
{
Form1 f = new Form1();
FormShow(f);
}و ممكن تحدد الفورم داخل الداله لو ثابته
void FormShow()
{
Form1 f = new Form1();
f.Show();
}ما فهمته من كلام الاخ mr_boss انه يريد اجراء فقط تمرر له اسم ال Form ويقوم الاجراء باظهاره اي على شاكلة
Private void Show_Form(String Form_Name)
{
///Code
}اي فقط تمرير اسم ال Form وليس ال Form نفسه.
وعلى هذا الفهم حاولت باستخدام ال Assemblies وال Reflection ان استخلص صنف النموذج المطلوب من ملفات المشروع ومن ثم عمل Object من ذلك الصنف وبعدها استدعاء الدالة Show() ، لكن هذه الطريقة لم تنجح لان الملف اللذي يمكن ان نستخلص من الاصناف لا بد ان يحتوي على Assembly Manifest، وهو ما لا يتوفر في اي من ملفات المشروع.
لكن لو كان النموذج معرف في ملف DLL منفصل وبافتراض انه MyLibrary.dll يمكن عمل ذلك كالاتي:
private void Show_Form(string Form_Name)
{
System.Reflection.Assembly Asm;
System.Runtime.Remoting.ObjectHandle Obj;
Asm = System.Reflection.Assembly.LoadFrom(Application.StartupPath + "\\MyLibrary.dll");
Obj = System.Activator.CreateInstanceFrom(Asm.Location, "System.Windows.Forms.Form");
System.Windows.Forms.Form frm;
frm = (System.Windows.Forms.Form)Obj.Unwrap();
frm.Show();
}تم تعديل هذه المشاركة بواسطة abd_albaset في 23 سبتمبر 2006 في 16:39
اقتباسما فهمته من كلام الاخ mr_boss انه يريد اجراء فقط تمرر له اسم ال Form ويقوم الاجراء باظهاره اي على شاكلة
:rolleyes:
جزاكم الله خيرا أخوتى الكرام على الاهتمام
فى الحقيقية كنت أقصد تمرير اسم فورمة بعينها ضمن مجموعة فورم ، وعند تمرير اسم أحدها تقوم Method بعمل Show لها .

هذا الموضوع مغلق.