تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ListBix
#1
السلام عليكم 

الاخوة المشرفين والاعضاء المحترمين

سؤالي بخصوص ال ListBox 

هل يمكن تغير ال Selection Color  عند اختيار اي عنصر هل يمكن تغير اللون الازرق الى اي لون ؟

وهل يمكن مباعدة العناصر في القائمة عن بعض بالمسافة التي احددها ؟

صوره مرفقة


الملفات المرفقة صورة/صور
   
الرد
تم الشكر بواسطة:
#2
يمكنك فعل لك ولكن يتوجب عليك ان ترسم عناصر الليست بنفسك

غير الخاصية DrawMode الى OwnerDrawFixed
وكذلك الخاصية ItemHeight الى ارتفاع العنصر الذي تراه مناسب

عرف المتغير     SelectedColor للون العنصر المختار للبرنامج كله :

كود :
   Dim SelectedColor As Color = Color.Gold


الآن في حدث DrawItem اضف الكود التالي الي يقوم برسم العناصر 

كود :
   Private Sub ListBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles ListBox1.DrawItem

       Dim lst As ListBox = DirectCast(sender, ListBox)

       If e.Index < 0 Then Return

       If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
           e = New DrawItemEventArgs(e.Graphics,
                                     e.Font,
                                     e.Bounds,
                                     e.Index,
                                     e.State Xor DrawItemState.Selected,
                                     e.ForeColor,
                                     SelectedColor)
       End If


       e.DrawBackground()
        Dim str As String = lst.GetItemText(lst.Items(e.Index))

       Dim StrPoint As New Point
       Dim StrWidth = e.Graphics.MeasureString(str, e.Font).Width
       StrPoint.X = IIf(lst.RightToLeft = RightToLeft.Yes,
                        e.Bounds.X + e.Bounds.Width - StrWidth,
                        e.Bounds.X)

       StrPoint.Y = e.Bounds.Y + (e.Bounds.Height - e.Font.Height) * 0.5

       e.Graphics.DrawString(str,
                             e.Font,
                             New SolidBrush(lst.ForeColor),
                             StrPoint)



   End Sub
https://stackoverflow.com/a/3663856/14137871
الرد
#3
الله يعطيك العافية استاذ انس محمود
طبق الاصل سلمت يداك
الرد
تم الشكر بواسطة: asemshahen5 , WaeLx , WaeLx


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


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