سؤال

أنا أدير لعازر 0.9.30.2.

لدي تفورم الذي يوجد تباجيكونترول.داخل تباجيكونترول هناك سلسلة من تابشيتس.في وقت التشغيل ترتيب تتابشيتس يختلف عن وقت التصميم (انظر الصورة).

enter image description here

الترتيب في وقت التصميم هو ما أريد رؤيته في وقت التشغيل ، على الأقل لأول مرة يتم عرض النموذج.لماذا يتغير الطلب في وقت التشغيل وهل هناك طريقة للتحكم في ذلك?

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

المحلول

@تلاما هو الصحيح أن هذا يرتبط بطريقة تحكم علامة التبويب ويندوز يتصرف عندما تكون في عرض متعدد الخطوط.يرتبط السلوك الذي تراقبه بالطريقة التي يتم بها التعامل مع التحديد لعلامات التبويب متعددة الأسطر.عند تحديد علامة تبويب ، يتم عرضها دائما في الصف السفلي لأن الإشارة المرئية للإشارة إلى علامة التبويب المحددة يمكن أن تعمل حقا فقط مع علامات التبويب في الصف السفلي.

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

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

إذا كنت ميتا تعيين على فرض ترتيب معين عندما يظهر النموذج لأول مرة يمكنك إضافة رمز مثل هذا إلى OnCreate معالج للنموذج:

PageControl1.ActivePage := TabSheet9;
PageControl1.ActivePage := TabSheet5;
PageControl1.ActivePage := TabSheet1;

أفضل ممارسة لتصميم واجهة المستخدم هي تجنب عناصر التحكم في علامات التبويب متعددة الأسطر وأحثك على محاولة إعادة تصميم واجهة المستخدم الخاصة بك بهذه الطريقة.

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