Usercontrol - (Extender)-Name?

27/10/2007 - 08:11 von Norbert Schiller | Report spam
Hallo,

bin dabei meine Werkzeugsammlung aus VB6 nach .NET umzusetzen. Habe aber
offensichtlich dabei noch derbe Probleme :-(. Und zwar geht es um den
Namen des Usercontrols, wenn man ein solches Usercontrol in den Designer
zieht.

Ausgangslage:
Ein Usercontrol mit zwei konstituierenden Controls: 1 Label (lblCap) und
eine Textbox (Textbox1). Es existieren Properties <Caption> und <Text>.

Public Class nsTXTControl
Inherits System.Windows.Forms.UserControl

[schnipp]

<EditorBrowsable(EditorBrowsableState.Always), _
Browsable(true), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _
Public Overrides Property [Text] As String
Get
Return MyBase.Text
End Get
Set(ByVal sValue As String)
MyBase.Text = sValue
TextBox1.Text = MyBase.Text
End Set
End Property

Public Property Caption() As String
Get
Return mCaption
End Get
Set(ByVal strValue As String)
mCaption = strValue
lblCap.Text = mCaption
End Set
End Property

In VB6 konnte man über das Extender-Objekt bzw. Ambient.Displayname die
<Caption>-Property ja initialisieren (z.Bsp. im Event <InitProperties>). Und
die fortlaufende UC-Bezeichnung erschíen dann auch - wie gewünscht -im
*Label* lblCap.
( -- Caption = Ambient.DisplayName ' UserControl.Extender.Name)

Wenn ich das aber jetzt so wie o.a. bei Net versuche, dann erscheint der
fortlaufende UC-Name in der Textbox (nicht wie gewünscht im Label) - und
auch die <Text>-Property ist bereits mit diesem String vorbelegt (sollte
hier aber leer "" sein).

Ich erbe von der Controls-Klasse ja *nur* die Property <TEXT>. <Caption>
(myBase.Caption!!) gibt es ja nicht mehr. Das Extender-Objekt sicher auch
nicht mehr (in der Form).

Für den Fall, dass mein Problem niemand versteht :-)) im Link unten ein
rudimentàrer Versuch der graphischen Darstellung. Ergebnis sollte also
sein, dass im Designer beim Hinzufügen eines UC's auf eine Form die
*Caption*-Prop des UC's mit dem neuen Namen vorbelegt wird und die Prop
<Text> leer ist. Und nicht umgekehrt - wie aktuell.

http://freenet-homepage.de/VBworks

Danke für eure Hilfe - alleine auch schon nur fürs Durchlesen. Ich bin mir
schon bewusst, dass mir da noch massiv Grundlagen fehlen.


Gruß, Norbert
[nschiller@freenet.de]
 

Lesen sie die antworten

#1 Norbert Schiller
30/10/2007 - 19:03 | Warnen spam
Hmm... Habe mittlerweile mitbekommen, dass VB.Net doch etwas logischer
aufgebaut ist als VB6. Aber offensichtlich hat alles seinen Preis :-((.


Gruß, Norbert
[]

Ähnliche fragen