منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : Application.OpenForms لا تاتي بجميع الفورم المفتوحة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
لماذا Application.OpenForms لا تاتي بكل الفورم المفتوحة

وجدت حقيقة المشكلة
https://stackoverflow.com/questions/3751...t-0-always

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

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

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

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

إقتباس :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 والحمد لله انحلت المشكلة