Guten Morgen Leute,
ein neuer Tag, ein neues Problem..
Heute geht es darum, dass ich eine ComboBox neu gestalten möchte.
Das Paint-Event funktioniert soweit, allerdings wird der Text sehr merkwüridg dargestellt (Siehe angefügte Screenshot).
Des Weiteren wird ab und zu der Hintergrund, bei einem eingegebenen Text, komplett Schwarz wiedergegeben.
Meine Frage daher, wie bekomme ich es hin, dass mir der Text richtig angezeigt wird und der Hintergrund sich nicht ändert?
Zur Info - mein bisheriger Code:
Btw: Wie schaffe ich es den DropDown-Pfeil zu zeichnen?
Mfg
Bianco
ein neuer Tag, ein neues Problem..
Heute geht es darum, dass ich eine ComboBox neu gestalten möchte.
Das Paint-Event funktioniert soweit, allerdings wird der Text sehr merkwüridg dargestellt (Siehe angefügte Screenshot).
Des Weiteren wird ab und zu der Hintergrund, bei einem eingegebenen Text, komplett Schwarz wiedergegeben.
Meine Frage daher, wie bekomme ich es hin, dass mir der Text richtig angezeigt wird und der Hintergrund sich nicht ändert?
Zur Info - mein bisheriger Code:
VB.NET-Quellcode
- Option Strict On
- Imports System.Drawing
- Imports System.Drawing.Drawing2D
- Imports System.ComponentModel
- Imports System.Windows.Forms
- Imports System.ComponentModel.Design
- Imports System.Threading
- Imports System.Runtime.InteropServices
- Imports System.Windows.Forms.Design
- ' Hier könnte eine Beschreibung für die Toolbox stehen
- Public Class CustomCombo : Inherits ComboBox
- Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
- MyBase.OnPaint(e)
- Dim g As Graphics = e.Graphics
- Dim cmbRect As Rectangle = New Rectangle(0, 0, MyBase.Width, MyBase.Height)
- g.FillRectangle(Brushes.White, cmbRect)
- g.DrawRectangle(New Pen(Color.Blue), 0, 0, MyBase.Width - 1, MyBase.Height - 1)
- End Sub
- Sub New()
- MyBase.New
- MyBase.Font = New Font("Verdana", 9, FontStyle.Regular)
- SetStyle(ControlStyles.UserPaint, True)
- SetStyle(ControlStyles.DoubleBuffer, True)
- SetStyle(ControlStyles.SupportsTransparentBackColor, True)
- End Sub
- Private Sub CustomComboBox_Resize(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Resize
- Invalidate()
- End Sub
- End Class
Btw: Wie schaffe ich es den DropDown-Pfeil zu zeichnen?
Mfg
Bianco
.wife {right: 100%; margin: 0;}