منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] كيف اجعل صف في listbox ملون - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] كيف اجعل صف في listbox ملون (/showthread.php?tid=18149)



كيف اجعل صف في listbox ملون - 3asfa~mdmra - 25-11-16

السلام عليكم
كيف ممك اجعل صف ملون من لست بوكس
وشكرا

مع العلم انا وضعت
كل الاحتمالات لم تنفع بشئ
.listbox.item.add(textbox1.backcolor=color.red)


RE: كيف اجعل صف في listbox ملون - silverlight - 26-11-16

يجب عليك أن تتعامل مع الحدث 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