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

استخدام متحولات من فورم الى فورم ثاني

بدأه star5 في 22 أغسطس 2008 · 5 رد · 841 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم عندي سؤال صغير

لدي برنامج استخدم فيه اكثر من

form

و احتاج الى استخدام بعض المتحولات الموجودة في فورم معين في فورم اخر

كيف يمكنني الوصول اليها؟؟

هل اعرف متحولا من الفورم الذي يحوي هذه المتحولات في الفورم الثاني(الذي سيستخدم هذه المتحولات)؟؟؟

ام اجعل تعريف هذه المتحولات

static

و استخدمها بأي مكان في برنامجي؟؟

ارجو ان تفيدوني بالطريقة الاصح

#2

هناك طريقة بسيطة جداً وهي عمل كائن من الفورم الذي يحتوي على المتغير الذي تريده في الفورم الاخرى

كالتالي

class form1

{

int x=0;

......

......

}

class form2

{

form1 f=new form1();

int y=f.x;

......

....

}

#3

جميع الطرق صحيحة و لكن اختيارك يجب أن يكون حسب حاجتك فأذا كان برنامجك يحوي عدة متحولات عامة فمن الأفصل جعلها static و وضعها في class خاص أما إذا كانت هذه العملية محصورة بين فورمين فيمكنك عمل هذه المتحولات خاصة بالفورم الذي يحويها و عمل توابع عامة ضمن الفورم تتيح التعامل مع هذه المتحولات أو يمكن عمل Properties تتعامل معها و ذلك لعزلها عن التعديلات العشوائية.

كما لا يوجد طريقة ثابتة دائما و إنما هي أفكار تطبق حسب الحاجة.

و بالنسبة لطريقة السيد Prof.Mendl يوجد بها خطأ لأن المتحول x سيكون private افتراضيا فلا يمكن للفورم الآخر رؤيته بشكل مباشر .

#4

اعتذر عن الخطأ والنسيان وما قصدته هو الفكرة بالفعل يجب ان يكون المتغير public

وشكرا ً للاخ (Golden Man) على التصحيح

#5

افضل طريقة هي عمل Propertie

و اضف الى الكلاس الخاص بالفورم

مثال

   private string my;
	public static string My
	{
		get { return yourValue; }
		set { yourValue = value; }
	}
#6

نصيحة

دائما ما ينصح المتقدمين فى البرمجة أن تحاول بقدر المستطاع أن تطبق مبادئ الopp

طبعا هذا لمن يعمل بopp

و من هذه المبادئ العزل أو الencaps.

لذلك من المروض أن تحاول بقدر المستطاع أن تجعل متغيرات الكائن الخاصة بك private

يعنى مثلا

عندك member Data فى الclass من الممكن أن تجعله public او private

طبقا لمبادئ الopp يستحب كثيرا أن تجعله private و ليس public

لذلك فالأسلوب المتبع عادتا فى حالتك هذا

أمر من إثنين"من الممكن أن يكون هناك حلول أخرى"

إما أن تجعل له property

و إما أن تمرره عن طريق الconstractor الخاص بالobject

و فى الحالتين فأنت لم تخالف المبادئ العامة للopp

أعانك الله

سبب التعديل : تنسيق

تم تعديل هذه المشاركة بواسطة نــور في 11 سبتمبر 2008 في 06:12

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

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