سؤال

لدي الهيكل التالي في نموذج Windows:

Form (AutoResize = true, AutoSizeMode = GrowAndShrink)
    FlowLayout (AutoResize = true, AutoSizeMode = GrowAndShrink)
        GroupBox
        GroupBox
        GroupBox
    StatusStrip

توقعاتي هو أن تغيير رؤية صناديق المجموعة يجب أن يتسبب في انقطاع النافذة إلى حجم جديد لاستعادة مساحة فارغة ، أو استيعاب عناصر تحكم جديدة. ومع ذلك ، هذا لا يحدث تلقائيا. إذا قمت بتقليل إلى الحد الأقصى إلى الدرج ثم استعد النموذج (أي تبديل مرئي ، ShowIntaskBar ، WindowState = Normal/Minive) ، ثم عند ظهوره ، سيتم تحديثه بشكل صحيح. شيء آخر يحفزه هو تحديث للمحتوى في statusstrip في أسفل الصفحة (يعرض تسمية ، وتغيير شريط التقدم وما إلى ذلك). لقد جربت العديد من مجموعات مستوحاة من الفودو من إبطال/تحديث/onresize إلخ ، لكنني أشعر أنني أفتقد شيئًا أكثر جوهرية قليلاً وآمل أن يتمكن شخص ما من رؤية الخلل الواضح فيما أصفه.

جميع التحديثات الخاصة بي إلى واجهة المستخدم على النموذج موجودة داخل/استدعاء Invokerequired ، إذا كان ذلك مناسبًا.

هل كانت مفيدة؟

المحلول

لا يمكنني إعادة صياغة هذه المشكلة باستخدام نموذج اختبار بسيط يستخدم إعدادات التخطيط والخاصية. تقلص منطقة عميل النموذج عند بدء التشغيل وتنمو حسب الحاجة لجعل مربع المجموعة مرئيًا عندما أقوم بتعيين خاصية مرئية على True.

يمكنك طلب إعادة حساب تخطيط صريح باستخدام طريقة performayout ().

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top