في "المتجر" ويندوز وأنا خلق, أريد أن تظهر للمستخدم الرسائل الإعلامية المختلفة. وقد اخترت ListBox كالأداة إظهار أنها بحيث أنها يمكن التمرير خلال الأشياء لهم وكل شيء على ما يرام.
الرسائل معلوماتية فقط, لذا ليس هناك حاجة لتوفير مسافة بيضاء إضافية كل ما حولها حيث يمكن للمستخدم تحديد لهم ابدأ أي شيء. السلوك الافتراضي ل ListBox يوفر كمية كبيرة من الحشو، وكنت أرغب في التخلص منه. حسنا.... لا يمكنك أن تفعل هذا النوع من الشيء في ListBox مباشرة. ومع ذلك, يمكنك القيام بذلك للبنود التي يمكنك إضافة:
القطاع الخاص باطلة أدجاميستاتيلوجميساجي(السلسلة ثيميساجي) { مربع النص t = الجديد مربع نص(); t.Text = جاميستاتيكونتير + ": " + ثيميساجي; t.TextWrapping = TextWrapping.Wrap; t.MinWidth = 400; سمك ثيسبادينج = الجديد سمك(5, 0, 5, 0); t.Padding = ثيسبادينج; t.FontSize = 12; ليستبوكسيتيم لي = الجديد ليستبوكسيتيم(); لي.المحتوى = t; لي.ماكسهيت = 25; ثيسبادينج = الجديد سمك(5, 0, 5, 0); لي.الحشو = ثيسبادينج; GameStateLog.Items.Insert(0,لي); }
في ما ورد أعلاه, أنا إنشاء مربع نص وتعيين الخط الخاص به, الحشو, إلخ.
القادم, إنشاء ليستبوكسيتيم، وتعيين مضمونة إلى مربع نص منسق.
وأخيراً, أنا أدخل ليستبوكسيتيم في ListBox. (أريد إظهار أحدث الرسائل في الجزء العلوي من القائمة, ومن ثم الإدراج(0,لي) بدلاً من إضافة بسيطة() الاحتجاج.).
أنا سوف يكون اللف هذا قليلاً قبل أنا حقاً سعيدة مع السلوك ListBox ولكن نمط المبينة أعلاه كان مثمرا جداً. نأمل شخص آخر يرى أنه من المفيد.
</نهاية>
اتبعني على التغريد في http://www.twitter.com/pagalvin