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

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


الطريقة :
أولا من قائمة الخصائص :

* اختر لخاصية DrowMode الاختيار التالي : OwnerDrawFixed


ثانيا : الصق الكود التالي في حدث ListBox1_DrawItem
كود :
Private Sub ListBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles ListBox1.DrawItem

       If e.Index < 0 Then Return
       If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
           e.Graphics.FillRectangle(Brushes.Yellow, e.Bounds) ' لون التحديد أصفر
       Else
           e.Graphics.FillRectangle(New SolidBrush(ListBox1.BackColor), e.Bounds)
       End If

       Dim txt As String = ListBox1.Items(e.Index).ToString()
       Dim sf As New StringFormat()
       sf.Alignment = StringAlignment.Center
       sf.LineAlignment = StringAlignment.Near
       e.Graphics.DrawString(txt, e.Font, Brushes.Blue, e.Bounds, sf) ' لون الخط أزرق
       e.DrawFocusRectangle()

   End Sub


ثالثا : يمكنك تحديد أي عنصر تريده ، عند بدء تشغيل البرنامج
فمثلا لتحديد العنصر الأول ، اكتب في حدث تحميل الفورم Form1_Load الكود التالي :
كود :
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       If ListBox1.Items.Count > 0 Then
           ListBox1.SelectedIndex = 0 ' تحديد أول عنصر
       End If
   End Sub


ولتحديد العنصر الثاني اكتب 1 بدلا من 0
ListBox1.SelectedIndex = 1
وهكذا في بقية العناصر

النتيجة النهائية ستكون هكذا :


ملاحظة : يوجد مثال مرفق في الأسفل يمكنك تحميله للتجربة !

هذا ، ودمتم بخير وعافية
أحسنت، مشاركة جيدة،
لكن في حال اضافة كود مجرب للنفع العام 
ضع الموضوع في قسم مكتبة اكواد VB.NET    أو  في قسم امثلة ومشاريع VB.NET

كي يكون مرجعاً قريباً لمن أراد الاستفادة منه، 
بينما في قسم الأسئلة فخلال أسابيع ستجده أصبح في صفحات بعيدة في حال عدم التفاعل، 
وسيبعد أكثر مع كل سؤال جديد.