مرحبا بالجميع
هذا الكود لتوسيط النص في أداة ListBox
الطريقة :
أولا من قائمة الخصائص :
* اختر لخاصية DrowMode الاختيار التالي : OwnerDrawFixed
ثانيا : الصق الكود التالي في حدث ListBox1_DrawItem
ثالثا : يمكنك تحديد أي عنصر تريده ، عند بدء تشغيل البرنامج
فمثلا لتحديد العنصر الأول ، اكتب في حدث تحميل الفورم Form1_Load الكود التالي :
ولتحديد العنصر الثاني اكتب 1 بدلا من 0
ListBox1.SelectedIndex = 1
وهكذا في بقية العناصر
النتيجة النهائية ستكون هكذا :
ملاحظة : يوجد مثال مرفق في الأسفل يمكنك تحميله للتجربة !
هذا ، ودمتم بخير وعافية
هذا الكود لتوسيط النص في أداة 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
وهكذا في بقية العناصر
النتيجة النهائية ستكون هكذا :
ملاحظة : يوجد مثال مرفق في الأسفل يمكنك تحميله للتجربة !
هذا ، ودمتم بخير وعافية

