Usercontrol - Property FONT setzen

24/10/2007 - 16:54 von Norbert Schiller | Report spam
Hallo,

könnte mir bitte jemand sagen, wie ich in einem Usercontrol (besteht aus
einem Label und einer Textbox) die Property FONT richtig setze. Im Designer
wird bei Änderung im Eigenschaftsfenster die Font auch geàndert, aber beim
Erstellen wird wieder die <alte> Schrift eingesetzt. Ist bestimmt nur ein
Anfàngerfehler. Habe momentan keine Hilfe zur Verfügung. Funktioniert noch
nicht :-( (bin hier noch nicht ganz schlau draus geworden).

Dim mFont as System.Drawing.Font

<Browsable(True), _
EditorBrowsable(EditorBrowsableState.Always), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _
Public Overrides Property Font() As System.Drawing.Font
Get
Return mFont
End Get
Set(ByVal newFont As Font)
mFont = newFont
TextBox1.Font = mFont
Label1.Font = mFont
ResizeIt()
End Set
End Property

'Das hier funktioniert:
'-
<Browsable(True), DesignOnly(False), _
EditorBrowsable(EditorBrowsableState.Always), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _
Public Overrides Property Text() As String
Get
Return mText
End Get
Set(ByVal sValue As String)
mText = sValue
TextBox1.Text = mText
End Set
End Property

Danke für die Hilfe.


Gruß, Norbert
[nschiller@freenet.de]
 

Lesen sie die antworten

#1 Karsten Sosna
25/10/2007 - 06:00 | Warnen spam
Dim mFont as System.Drawing.Font

<Browsable(True), _
EditorBrowsable(EditorBrowsableState.Always), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)>
_
Public Overrides Property Font() As System.Drawing.Font
Get
Return mFont
End Get
Set(ByVal newFont As Font)
mFont = newFont
TextBox1.Font = mFont
Label1.Font = mFont
ResizeIt()
End Set
End Property

'Das hier funktioniert:
'-
<Browsable(True), DesignOnly(False), _
EditorBrowsable(EditorBrowsableState.Always), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)>
_
Public Overrides Property Text() As String
Get
Return mText
End Get
Set(ByVal sValue As String)
mText = sValue
TextBox1.Text = mText
End Set
End Property

Danke für die Hilfe.



Hallo Norbert,
so kann das auch nicht funktionieren. Letzte Eigenschaft funktioniert
deshalb, weil das UserControl gar keine Text-Eigenschaft besitzt. Ob Du da
Overrides hin schreibst oder nicht, zu überschreiben gibt es da nichts. Bei
der Font-Eigenschaft solltest Du auch die Basis-Klasse mit einbeziehen.
\\\
Public Overrides Property Font() As System.Drawing.Font
Get
Return MyBase.Font
End Get
Set(ByVal newFont As Font)
MyBase.Font = newFont
TextBox1.Font = newFont
Label1.Font = newFont
ResizeIt()
End Set
End Property
///
P.S.: NICHT Me.Font, das führt zu einem rekursiven Aufruf.
Gruß Scotty

Ähnliche fragen