تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيف اجعل صف في listbox ملون
#1
السلام عليكم
كيف ممك اجعل صف ملون من لست بوكس
وشكرا

مع العلم انا وضعت
كل الاحتمالات لم تنفع بشئ
.listbox.item.add(textbox1.backcolor=color.red)
الرد
تم الشكر بواسطة:
#2
يجب عليك أن تتعامل مع الحدث ListBox_DrawItem
و ترسم Item باللون المطلوب
لاتنسي تغيير DrawMode Property

في اللينك التالي ستجد فكرة تغيير اللون بناء علي Index
اللينك


عموما: الحل المثالي انك تقوم ببناء اداة جديدة يتم توريثها من الأداة ListBox و تعيد عملية الرسم في الحدث DrawItem

هذا مثال لكيفية بناء ليست بوكس بسيط و يمكنك التعديل عليه و تطويره

PHP كود :
Public Class BoxList
    Inherits ListBox

    Public Sub 
New()
 
       Me.DrawMode DrawMode.OwnerDrawFixed
        Me
.ItemHeight 16
    End Sub

    Protected Overrides Sub OnDrawItem
(As DrawItemEventArgs)
 
       e.DrawBackground()
 
       e.DrawFocusRectangle()
 
       ' ****************************************************
        ' 
يمكنك التحكم في الون من الكود التالي
        Dim limeColor 
As Color Color.DarkBlue
        
' يمكنك التحكم في مكان رسم التكست من هنا
        Dim indent As Single = 5
        ' 
****************************************************

 
       If e.Index 0 OrElse e.Index >= MyBase.Items.Count Then
            e
.Graphics.DrawString(Me.Texte.Font, New SolidBrush(e.ForeColor), CSng((e.Bounds.Left indent)), CSng(e.Bounds.Top))
 
       Else
            e
.Graphics.DrawString(MyBase.Items(e.Index).ToString(), e.Font, New SolidBrush(limeColor), CSng((e.Bounds.Left indent)), CSng(e.Bounds.Top))
 
       End If
 
       MyBase.OnDrawItem(e)
 
   End Sub

End 
Class 
الرد
تم الشكر بواسطة: LoveVb , 3asfa~mdmra , العزابي , العزابي



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم