منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
Application.OpenForms لا تاتي بجميع الفورم المفتوحة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : Application.OpenForms لا تاتي بجميع الفورم المفتوحة (/showthread.php?tid=24208)



Application.OpenForms لا تاتي بجميع الفورم المفتوحة - ali.alfoly - 17-03-18

السلام عليكم
لماذا Application.OpenForms لا تاتي بكل الفورم المفتوحة

وجدت حقيقة المشكلة
https://stackoverflow.com/questions/3751554/application-openforms-count-0-always

لاكن لم اجد لها حل 
هل صادفت احد من قبل 
هل لها حل


RE: Application.OpenForms لا تاتي بجميع الفورم المفتوحة - سعود - 17-03-18

تحدث معي اذا لم يكن بها ادوات لكن جرب اضف اداة تسمية وشوف.


RE: Application.OpenForms لا تاتي بجميع الفورم المفتوحة - عبدالله الدوسري - 17-03-18

هي فعلاً bug 

الحل قم بإنشاء Collection الخاصة بك .
وعند فتح أي نافذة إضفها للـ Collection 
وعند إغلاقها أزلها من الـ Collection 

أو قم بإنشاء كلاس جديد من نوع Form
وعدل صفاتة ليقوم هو بإضافة وإزالة نفسة من هذة الـ Collection 

وجعل جميع النوافذ ترث هذا الكلاس الجديد ( النافذة المعدلة ) 


RE: Application.OpenForms لا تاتي بجميع الفورم المفتوحة - ali.alfoly - 18-03-18

شكرا اخي سعود واستاذ عبد الله
كلا الرجل في المشكلة هو 

إقتباس :There's a bug in Windows Forms that makes a form disappear from the Application.OpenForms collection. This will happen when you assign the ShowInTaskbar, FormBorderStyle, ControlBox, Min/MaximizedBox, RightToLeftLayout, HelpButton, Opacity, TransparencyKey, ShowIcon or MdiParent property after the window was created. These properties are special in that they are specified as style flags in the native CreateWindowEx() call. This sample form demonstrates the bug:

المشكلة كانت في اني عامل كلاس بيحدد اتجاه اي فورم وكل الادوات الي عليه حسب اللغة المحددة RTL يعني
وكان ذلك يتم في الحدث Load لكل فورم فبطبيعة الحال يتم تغير خاصية RightToLeftLayout فقمت بجعل التعديل في الحدث new بدل من الحدث Load والحمد لله انحلت المشكلة