mardi 24 janvier 2012

تمرير متغيرات بين نماذج ويندوز ويندوز دون ShowDialog ()

عند برمجة تطبيق Windows Forms ، وسوف تحتاج دائما إلى الحصول على المتغيرات من نافذة النموذج الثاني ، مثل نموذج أو منبثقة موجه خيارات البحث.

ومعظم الأدلة هناك اقول لكم ان لديك لفتح النموذج الثاني مع ShowDialog () ، الذي يمنع المستخدم من القيام بأي شيء آخر حتى انهم إغلاق نافذة النموذج الثاني. هذا لن تعمل بشكل جيد جدا للحوار العثور على / استبدال ، على سبيل المثال. كما أنها لا تعمل بشكل جيد جدا لوضع النماذج المخصصة المنبثقة.

طريقة سريعة لتمرير متغيرات بين أشكال يستخدم المندوبين. يمكنك تعيين eventhandler للحدث الختامي للنموذج الثاني ، والتعامل مع الحدث في النموذج الأول. هذا يتيح لك التقاط المتغيرات قبل إطار النموذج الثاني قد أغلقت.

لهذه العملية ، ونحن ذاهبون لنفترض أن لدينا شكلين :

MainForm

OptionsForm

نحن ذاهبون الى تفترض أيضا أن لدينا نوعا من النقر الزر الذي يفتح OptionsForm مع عرض () استدعاء الأسلوب. الآن دعونا نلقي نظرة على السحر :

....... قص.......

OptionsForm theform = OptionsForm جديدة () ؛
theform.Closing + = جديد CancelEventHandler (theform_Closing) ؛
theform.Show();

}

الفراغ خاصة theform_Closing (كائن المرسل ، CancelEventArgs ه)
{

OptionsForm theform = (OptionsForm) المرسل ؛

/ / الاستيلاء على شكل متغير من الخيارات. وينبغي على شكل خيارات تعيين هذا المتغير قبل أن يغلق ، ويجب أن تكون وضعت متغير عن الجمهور.
سلسلة localvar = theform.thestringvariable ؛

}

هذا كل ما في الامر.

Aucun commentaire:

Enregistrer un commentaire