Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  VB.NET: Property für UserControl

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  VB.NET: Property für UserControl (4324 mal gelesen)
KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2678
Registriert: 06.11.2000

erstellt am: 15. Dez. 2011 14:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Experten,

ich habe mir ein UserControl erstellt, das die normalen Buttons ersetzen soll.
Das funktioniert grundsätzlich auch.

Damit ein Text angezeigt wird, habe ich dem Control ein Label namesn BtnText verpasst.
Dann habe für das Control eine Eigenschaft "Text" definiert:

Code:
    <Description("Der dem Button zugeordnete Text")> _
    Public Overrides Property Text As String
        Get
            Return BtnText.Text
        End Get
        Set(value As String)
            If BtnText.Text <> value Then _
                BtnText.Text = value
        End Set
    End Property

Das funktioniert auch, ich kann dem Control nun im Pogramm einen Text zuweisen.

Leider taucht die Eigenschaft "Text" aber nicht im Property-Fenster auf. Wie kann ich das erreichen?
Wenn ich der Eigenschaft einen anderen Namen gebe, z.B. "xText" (ohne Overrides natürlcih), dann wird sie im Property-Fenster auch angezeigt.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HenryV
Mitglied
Konstrukteur, Engineering


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

Beiträge: 820
Registriert: 18.05.2005

SolidWorks 2022 x64 SP5.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 22H2
Microsoft 365 E5
Microsoft Visual Studio Enterprise 2022

erstellt am: 16. Dez. 2011 10:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Hallo Klaus

Du musst noch das BrowsableAttribute auf True setzten.

Code:
<Browsable(True), _
Description("Der dem Button zugeordnete Text")> _
Public Overrides Property Text As String
    Get
        Return BtnText.Text
    End Get
    Set(value As String)
        If BtnText.Text <> value Then BtnText.Text = value
    End Set
End Property

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2678
Registriert: 06.11.2000

erstellt am: 19. Dez. 2011 11:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Andreas,

thx für den Tipp.
Das funktioniert...halb.

Die Eigenschaft "Text" wird angezeigt, ich kann da was reinschreiben.
Aber jedes Mal, wenn ich in der IDE zwischen Code und Entwurfsfenster wechsle, steht dann bei der Eigenschaft wieder "Text" drin.  

Wie schon beschrieben: Mein control besteht aus einem "Usercontrol" mit Backgroundimage, über das ein Label mit Namen btn_text gelegt wurde.

Zur Laufzeit kann ich die ".Text"-Eigenschaft füllen, das wird dann auch richtig angezeigt. Nur im Entwurfsmodus merkt der sich den Wert nicht.


------------------
Klaus

PS: Ich habe gerade festgestellt: Wenn ich im Programm eine Load-Procedure für diesen Button habe, dann behält er den Text, selbst wenn die Load-Procedure leer ist.
Was auch immer da passiert...kann ich das in das Control verlagern?

Zu früh gefreut, jetzt isser wieder weg 

www.al-ko.com | mein Gästebuch | privat... | Nasenheim     

[Diese Nachricht wurde von KMassler am 19. Dez. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HenryV
Mitglied
Konstrukteur, Engineering


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

Beiträge: 820
Registriert: 18.05.2005

SolidWorks 2022 x64 SP5.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 22H2
Microsoft 365 E5
Microsoft Visual Studio Enterprise 2022

erstellt am: 21. Dez. 2011 12:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Hallo Klaus

Hab mich noch ein bisschen schlauer gemacht.  

Da muss zusätzlich noch das DesignerSerializationVisibilityAttribute rein, damit der Text abgespeichert wird.

Code:
<Browsable(True), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), _
Description("Der dem Button zugeordnete Text")> _
Public Overrides Property Text() As String
    Get
        Return BtnText.Text
    End Get
    Set(ByVal value As String)
        BtnText.Text = value
    End Set
End Property

Nachzulesen hier -> Link

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

[Diese Nachricht wurde von HenryV am 21. Dez. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles... i.R.



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2678
Registriert: 06.11.2000

erstellt am: 22. Dez. 2011 01:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Andreas,

thx again für deine Tipps.
Ich hab jetzt erst mal Weihnacht.Urlaub.frei bis Woche.2 

Aber dann werd ichs ausprobieren

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz