vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Benutzerdefiniertes Steuerelement 
Autor: Parallax
Datum: 28.03.19 22:18

Moin,

ich habe mir gerade mit viel Liebe und Mühe ein eigenes Steuerelement erstellt.
Das hat in so weit auch ganz gut funktioniert.

Nun habe ich das Steuerelement in einem Ordner gespeichert (Steuerelement.vb) und dann konnte der Designer plötzlich mein Form nicht mehr anzeigen. Also hab ich VisualStudio neu gestartet und nun war das Steuerelement im Projektmappeneditor verschwunden.
Also auf "vorhandenes Element hinzufügen" und Steuerelement.vb wieder hinzugefügt.
Soweit auch alles gut, ich kann das Element wieder sehen und der Code dazu ist auch vorhanden.
Allerdings taucht es nicht mehr in der Toolbox auf und ich kann es nicht in mein Form einfügen.

Was mache ich falsch?

Wenn ich die Datei Steuerelement.vb alleine mit VS öffne, zeigt es mir nur den Code an, der Steuerelement selbst nicht.

Ich bin gerade etwas überfrage...

Am morgen nen Joint und der Tag is dein Freund

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Benutzerdefiniertes Steuerelement 
Autor: Parallax
Datum: 29.03.19 01:39

Ich habe nun das Element entfernt und neu hinzugefügt und einen Build Fehler im Form behoben, nun zeigtes mir auch das Steuerelement wieder in der ToolBox an. Den genauen Mechanismus verstehe ich nicht.

Allerdings komme ich nun zu einem weiteren Problem:

Das Steuerelement hat eigene Propertys. Mit Me.Steuerelement.Eigenschaft kann ich diese auch ansprechen.

Mit Me.Controls("Steuerelement").Eigenschaft jedoch nicht. Muss man das Steuerelement noch irgendwie zu den Controls hinzufügen?

Grüße,
Andre

Am morgen nen Joint und der Tag is dein Freund

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Benutzerdefiniertes Steuerelement 
Autor: Manfred X
Datum: 29.03.19 06:41

Hallo!

Die Controls-Auflistung einer Form enthält
Referenzen auf Klassen, die von der Klasse "Control"
abgeleitet sind (= "erben").

Dein erstelltes Benutzer-Steuerelement ist von der
Klasse "UserControl" abgeleitet.
Diese Klasse wiederum ist im Framework von "Control"
über "ScrollableControl" und "ContainerControl" abgeleitet
worden.

Wenn Du direkt auf ein Element der Controls-Auflistung zugreifst
erhälst Du eine Referenz, die nur die Eigenschaften und
Methoden verfügbar macht, die in der "Control"-Klasse enthalten
sind.

Um auf die von Dir im Benutzersteuerelement programmierten
Eigenschaften und Methoden zugreifen zu können, mußt Du ein
"Casting" durchführen:

Dim MyUserControl as Klassenname = Directcast(Me.Controls(Instanzname), Klassenname)

Klassenname: der Name Deines Usercontrol
Instanzname: der Name Deiner auf die Form gezogenen Instanz des Usercontrol

Über die Referenzvariable "MyUserControl" stehen dann die Eigenschaften
und Methoden Deines UserControl für den Zugriff zur Verfügung.

Um zu ermitteln, ob ein Element der Auflistung eine Referenz auf eine
Instanz Deines Usercontrols ist, kann der TypeOf-Operator verwendet werden:

If TypeOf Me.Controls(Instanzname) Is Klassenname Then .....

Beitrag wurde zuletzt am 29.03.19 um 06:50:20 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Benutzerdefiniertes Steuerelement 
Autor: Parallax
Datum: 29.03.19 15:32

Danke,

sag mal, gibts eigentlich irgendwas, dass du nicht weißt?

Hat so bestens funktioniert.

Das benutzerdefinierte Control liegt ja nun als Steuerelement.vb in einem Ordner rum. Gibt es einen Weg das Steuerelement in eine dll oder sowas ähnliches zu packen um es "einfach zu transportieren" und einfach per Verweis in ein neues Projekt einfügen zu können?

Beste Grüße,
Andre

Am morgen nen Joint und der Tag is dein Freund

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Benutzerdefiniertes Steuerelement 
Autor: Manfred X
Datum: 29.03.19 15:46

Selbstverständlich kannst Du ein VB-Projekt
des Typs "Klassenbibliothek" erstellen und den
Code Deines Usercontrol dort als eine
(oder mehrere) Code-Datei(en) einfügen.
Nachdem diese DLL erfolgreich erstellt worden ist,
kann in Anwendungs-Projekte eine entsprechende
Referenz hinzugefügt werden.

Die Klasse muß mit dem Zugriffsmodifizierer
"Public" gekennzeichnet sein, ebenso alle
Eigenschaften und Methoden, die von einem
Projekt, daß diese DLL referenziert, verwendet
werden können.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel