Nieuw lid |
|
Hallo,
Ik heb de volgende class gemaakt voor een textbox met een afwijkende 'background / foreground color' wanneer hij disabled wordt :
Public Class vaTextBox
Inherits Textbox
Public Sub New()
MyBase.New()
End Sub
Public Shadows Property Enabled() As Boolean
Get
Return MyBase.Enabled
End Get
Set(ByVal Value As Boolean)
If Value = True Then
Me.SetStyle(ControlStyles.UserPaint, False)
Else
Me.SetStyle(ControlStyles.UserPaint, True)
End If
MyBase.Enabled = Value
End Set
End Property
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
MyBase.OnPaint(e)
Using oBrush As New SolidBrush(Color.WhiteSmoke)
e.Graphics.FillRectangle(oBrush, Me.ClientRectangle)
End Using
Using oBrush As New SolidBrush(Me.ForeColor)
e.Graphics.DrawString(Me.Text, Me.Font, oBrush, -1, 1)
End Using
End Sub
End Class
Public Class vaTextBox Inherits Textbox Public Sub New() MyBase.New() End Sub Public Shadows Property Enabled() As Boolean Get Return MyBase.Enabled End Get Set(ByVal Value As Boolean) If Value = True Then Me.SetStyle(ControlStyles.UserPaint, False) Else Me.SetStyle(ControlStyles.UserPaint, True) End If MyBase.Enabled = Value End Set End Property Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) MyBase.OnPaint(e) Using oBrush As New SolidBrush(Color.WhiteSmoke) e.Graphics.FillRectangle(oBrush, Me.ClientRectangle) End Using Using oBrush As New SolidBrush(Me.ForeColor) e.Graphics.DrawString(Me.Text, Me.Font, oBrush, -1, 1) End Using End Sub End Class
Ik heb nu het volgende probleem :
Wanneer de form opstart met de textbox enabled, ziet alles er ok uit (normale zwarte tekst, niet bold). Dan zet ik de textbox disabled (via code). Dit geeft het verwachte resultaat. Maar wanneer de textbox opnieuw enabled wordt gezet (ook via code), is de tekst in de textbox nu bold.
Hoe kan ik er nu voor zorgen dat de tekst niet bold wordt na de tekstbox disabled en weer enabled te zetten ?
Citaat: PieterC Edit: Codetags Aub!
|