20-04-25, 10:21 PM
تلوين العنصر إذا احتوى على كلمة معينة، وليس بالضبط مساوي لها.
وأضيف لك شرطًا إضافيًا، مثل:
إذا احتوى الاسم على "محمد" → أخضر
إذا احتوى على "أحمد" → أحمر
إذا احتوى على "سارة" → أزرق
وإلا → أسود (الافتراضي)
الكود
وأضيف لك شرطًا إضافيًا، مثل:
إذا احتوى الاسم على "محمد" → أخضر
إذا احتوى على "أحمد" → أحمر
إذا احتوى على "سارة" → أزرق
وإلا → أسود (الافتراضي)
الكود
PHP كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ListBox1.DrawMode = DrawMode.OwnerDrawFixed
' إضافة بعض الأسماء إلى الليست بوكس
ListBox1.Items.Add("محمد علي")
ListBox1.Items.Add("أحمد سالم")
ListBox1.Items.Add("علي مصطفى")
ListBox1.Items.Add("سارة حسن")
ListBox1.Items.Add("محمد عبد الله")
End Sub
Private Sub ListBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles ListBox1.DrawItem
If e.Index < 0 Then Return
Dim itemText As String = ListBox1.Items(e.Index).ToString()
Dim brush As Brush = Brushes.Black ' اللون الافتراضي
' الشروط المعدلة - حسب احتواء الاسم على كلمات معينة
If itemText.Contains("محمد") Then
brush = Brushes.Green
ElseIf itemText.Contains("أحمد") Then
brush = Brushes.Red
ElseIf itemText.Contains("سارة") Then
brush = Brushes.Blue
End If
' رسم الخلفية
e.DrawBackground()
' رسم النص باللون المحدد
e.Graphics.DrawString(itemText, e.Font, brush, e.Bounds)
' رسم الإطار حول العنصر إذا كان محدد
e.DrawFocusRectangle()
End Sub
