السلام عليكم
إخواني الكرام
كيف يمكن فحص حالة النموذج هل تم إنشاءه أم لا بحيث إذا كان منشأ يتم تحميله وإذا لم يكن كذلك يتم إنشاءه ثم تحميل والهدف من ذلك منع تكرار النموذج
السلام عليكم
إخواني الكرام
كيف يمكن فحص حالة النموذج هل تم إنشاءه أم لا بحيث إذا كان منشأ يتم تحميله وإذا لم يكن كذلك يتم إنشاءه ثم تحميل والهدف من ذلك منع تكرار النموذج
"إن الذين آمنوا وعملوا الصالحات كانت لهم جنات الفردوس نزلا"
ممكن تستخدم ال Delegates
المثال بالمرفقات
لو فيه حاجه مش ولضحه ممكن تقوللنا يا باشا
Have fun ;) ;)
يوجد أكثر من طريقه. مثلا اذا كانت الـ Form بـ null أو IsDisposed قم بانشائها ثم اظهرها. وان كانت ليست كذلك قم باظهراها فقط.
مثلا أعمل variable من Form2 في مكان مناسب داخل الكلاس.
Form2 theOtherForm;
بعد ذلك عندما تود أن تظهرها, اكتب :
if(theOtherForm==null || theOtherForm.IsDisposed )
{
theOtherForm = new Form2();
}
theOtherForm.Show();مشكورين جدا على الردود
وبارك الله فيكم
"إن الذين آمنوا وعملوا الصالحات كانت لهم جنات الفردوس نزلا"
حلوه الطريقه ده يا ميزو وأحسن من لفة ال Delegates اللي أنا كنت عاملها
بس يعني ايه لزمة :
theOtherForm==null
جزاكم الله خيرا
Have fun ;) ;)
طريقة الأخ معتز رائعة وأنا أيضا استعملها
يا أيها الناس قولو لا إله إلا الله تفلحوا وتملكوا بها العرب وتذل لكم العجم وإذا آمنتم كنتم ملوكا في الجنة
أقرأ الكود مره أخرى بهذا الشكل وستعرف السبب يا أخ Cer فهي منطقيه :
Form2 theOtherForm;
private void button1_Click(object sender, EventArgs e)
{
if(theOtherForm==null || theOtherForm.IsDisposed )
{
theOtherForm = new Form2();
}
theOtherForm.Show();
}استخدمت theOtherForm==null حتى أرى اذا كانت الـ theOtherForm هذه تم انشائها باستخدام كلمة new أم لا, لأنه لا يجوز استدعاء الـ Methods الموجوده فيها ( مثل Show ), ولا الـ Properties الخاصه بها كـ ( Text و IsDisposed والخ ) الا عندما يتم انشائها في الذاكره باستخدام كلمة new. ولذلك قبل استدعاء Show تأكدت أولا أن theOtherForm تم انشائها في الذاكره ( سواء كانت منشأه قبل ذلك أو تم انشائها للمره الأولى بالكود الموجود داخل If ).
بالاضافه الى ذلك أتأكد أيضا من أن الـ theOtherForm ليست Disposed; وأعرف ذلك من خلال الخاصيه IsDisposed. لأنه يمكن أن تكون الـ theOtherForm ليست null ولكنها Disposed. وان كانت Disposed ( أي رجعت الخاصيه IsDisposed بـ Flase ) فمن الواجب انشائها أيضا من جديد باستخدام كلمة new. وهذا وظيفة الكود الموجود داخل If.
Have fun ;) ;) :P
هذا الموضوع مغلق.