سؤال

أنا جديد على C # وأنا أعمل في مشروع صغير للحصول على شعور مع Visual Studio 2008. أقوم بتصميم واجهة المستخدم الرسومية في C #، ولدي TabControl مع ثلاثة صناديق مجموعات. ترتبط هذه الصناديق الثلاث الراسية على اليسار واليمين في الشاشة والعمل تماما عند تغيير حجم أفقيا.

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

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

شكرا!

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

المحلول

جرب TableLayoutPanel.. وبعد أعتقد أنه يفعل بالضبط ما تريد. يسمح لك بتحديد الأعمدة والصفوف داخل منطقته، مما يحدد عرضه (للأعمدة) والارتفاع (للصفوف) في النسب المئوية أو البكسل. يمكنك بعد ذلك إسقاط مربع مجموعة في كل خلية وتعيين خاصية Dock لملءها، وسوف يتم تغيير حجمها بشكل جيد مع الخلية عند تغيير حجم TableLayoutPanel (والتي يمكن تحقيقها بسهولة باستخدام الإرساء أو المراسي).

نصائح أخرى

هذه هي حقا رصاصة في الظلام ولكن ربما يمكنك محاولة استخدام لوحات تقسيم؟

تحرير: لقد فحصت للتو في Visual Studio وأعتقد أن TableLayoutPanel قد يفعل ما تريد.

Edit2: دانغ، والضرب إلى لكمة :)

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

نظرا لأنك تتعلم، أعتقد أنك تفضل عدم تلقي حل كامل ولكن اتجاه. لا يوجد رمز مني إذن ؛-)

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