Hej Erkänner mig själv som obotlig klant... ;-) Egna komponenter, designtime vs runtime...
Jag har gjort en variant av Label där jag i runtime vill förändra dess värde. Nackdelen är att om gör enligt nedan så sätts även värdet till den förändrade texten i designtime, DoStuff innehåller dessutom en databaskoppling som körs i designtime.
Kan jag på något sätt snappa upp om kontrollen körs i desigtime eller runtime läge för att på så sätt få ett sånt beteeende på den som jag vill ha? Idag ser koden ut ungefär så här:
<code>
Public Class STLabel
Inherits System.Windows.Forms.Label
Overrides Property Text() As String
Get
Return DoStuff(MyBase.Text)
End Get
Set(ByVal Value As String)
MyBase.Text = Value
End Set
End Property
End Class
</code>
Och så som jag skulle vilja att den fungerar så at man kan ha den i desigtimeläge är:
<code>
Public Class STLabel
Inherits System.Windows.Forms.Label
Overrides Property Text() As String
Get
if runtime
Return DoStuff(MyBase.Text)
else if designtime
Return MyBase.Text
end if
End Get
Set(ByVal Value As String)
MyBase.Text = Value
End Set
End Property
End Class
</code>
Någon som har en ide? För nu i designläge så ändras propertyn Text till det förändrade värdet + att databaskopplingen körs, och det fungerar kanon i runtime, men jag vill ju bara Text utan transfomering i desigtime....
Mvh
/Marcus Sv: Egna komponenter, designtime vs runtime...
<code>
Overrides Property Text() As String
Get
If Me.DesignMode() Then
Return MyBase.Text
Else
Return DoTheFunkyStuff(MyBase.Text)
End If
End Get
Set(ByVal Value As String)
MyBase.Text = Value
End Set
End Property
</code>