ComboBox DrawItem verschiedene Farben

  • VB.NET
  • .NET (FX) 4.0

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    ComboBox DrawItem verschiedene Farben

    Hallo,

    ich habe eine kleine Anwendung geschrieben, die mehrere PDF´s an einen Netzwerkdrucker senden kann ohne diese zu Öffnen.. also kein Hexenwerk :)

    ich habe in einer ComboBox im DrawItem-Event für den Index 0 die schriftfarbe rot, und index 1 - 3 in Schwarz.

    Wen ich die Anwendung nun Starte, und die Combobox öffne, sehe ich den gewünschten effekt.

    Aber:
    Wenn ich mit der Maus über die ComboBox hin und her Fahre, werden die Farben immer Dunkler, sieht sehr unschön aus

    Bild 1 = Nur einmal die Combobox geöffnet
    Bild 2 = Mehrmals mit der Maus drüber gefahren


    hat jemand eiinen Tipp?

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub cboDrucker_DrawItem(sender As Object, e As DrawItemEventArgs) Handles cboDrucker.DrawItem
    2. '*** VAriablendeklaration ***
    3. Dim sItem As String = cboDrucker.Items(e.Index)
    4. Dim b As New SolidBrush(Color.Black)
    5. Select Case e.Index
    6. Case 0
    7. b = New SolidBrush(Color.Red)
    8. Case 1
    9. b = New SolidBrush(Color.Black)
    10. Case 2
    11. b = New SolidBrush(Color.Black)
    12. Case 3
    13. b = New SolidBrush(Color.Black)
    14. End Select
    15. '*** Text ausgeben ***
    16. e.Graphics.DrawString(sender.items(e.Index), e.Font, b, e.Bounds.X, e.Bounds.Y)
    17. End Sub
    Bilder
    • 1.JPG

      10,66 kB, 74×85, 506 mal angesehen
    • 2.JPG

      11,09 kB, 70×86, 538 mal angesehen
    @Blackn0va Füge mal vor dem e.Graphics.DrawString() dies ein:

    VB.NET-Quellcode

    1. e.DrawBackground()
    2. e.Graphics.DrawString(sItem, e.Font, b, e.Bounds.X, e.Bounds.Y)
    3. e.DrawFocusRectangle()

    msdn.microsoft.com/de-de/libra…cs-lang=vb#code-snippet-2
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ ()

    Blackn0va schrieb:

    kann man dich Mieten?
    Mieten nicht, aber interessante Aufgabenstellungen reizen mich. :thumbsup:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!