الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية عرض فورمة من خلال Method ?

مغلق
بدأه mr_boss في 21 سبتمبر 2006 · 5 رد · 557 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هل هناك إمكانية لعرض فورمة عن طريق Method عن طريق إعطائها إسم الفورمة مثلاً

Flag_of_Palestine.gif
#2
Form1 f=new Form1();
f.Run(f);
void Run(object x)
{
	x.Show();
}

والله اعلم انا ماجربتش الكود ده

اللهم ارزقنا فهم النبيين وحفظ المرسلين

Hock341@yahoo.com

الشركة التطبيقية لخدمات الحاسب الالي [حاسب]

http://www.hasib.com.sa

مدونتي

#3

السلام عليكم

اقتباس
هل هناك إمكانية لعرض فورمة عن طريق 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();
		}
#4

ما فهمته من كلام الاخ 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

#5
اقتباس
ما فهمته من كلام الاخ mr_boss انه يريد اجراء فقط تمرر له اسم ال Form ويقوم الاجراء باظهاره اي على شاكلة

:rolleyes:

#6

جزاكم الله خيرا أخوتى الكرام على الاهتمام

فى الحقيقية كنت أقصد تمرير اسم فورمة بعينها ضمن مجموعة فورم ، وعند تمرير اسم أحدها تقوم Method بعمل Show لها .

Flag_of_Palestine.gif

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

مواضيع مشابهة