Hallo!
Kann mir jemand Quellen geben, wo ich etwas über das Erstellen von Komponenten gezeigt bekomme?
Dankeschön,
Schimki86
"Teamwork ist, wenn alle das machen, was auch ich möchte!!!" 😉
Hallo,
meinst du Komponenten im Sinne von Usercontrols oder "richtige" Softwarekomponenten(Assemblies)?
bei Steuerelementen lege ich dir diesen Thread ans Herz
Buch gesucht: Entwicklung von eigenen Steuerelementen
bei codeproject gibt es auch ganz gute Tutorials über "UserControls from scratch"...
Dank erstmal für die Antwort.
Richtig: es geht um das erstellen von Steuerelementen (Buttons, etc.)
Wenn noch jemand Quellen hat, wäre ich sehr dankbar!
MfG, Schimki86
"Teamwork ist, wenn alle das machen, was auch ich möchte!!!" 😉
Hi,
suche gerade auch ne Anleitung fürs Komponentenerstellen, aber leider finde ich bei Codeprojects nicht von "UserControls from scratch"
Und ansonsten verwirrt in der Help das hin und her referenzieren von den "component" links
Life is a short
Hallo Seikilos,
ich äußere mal die Vermutung, dass es deshalb kein Tutorial für UserControls gibt, weil es im Prinzip keinen (großen) Unterschied macht, ob man ein UserControl oder ein Form entwirft. Es gibt nur einen Unterschied: Bei einem Form legt jeder einfach los, bei einem UserControl kratzt sich erstmal jeder am Kopf. Mein Rat: aufhören zu kratzen und einfach genauso vorgehen, wie bei einem Form. Das gilt unabhängig davon, ob das UserControl selbst Controls enthalten oder alles selbst gezeichnet werden soll.
Der einzige praktische Unterschied wird sein, dass ein normales UserControl im Schnitt mehr öffentliche Properties und Methoden haben wird als ein normales Form. Properties und Methoden, um Inhalte ins UserControl zu setzen oder daraus abzufragen, denn auf die Controls innerhalb eines UserControls (oder eines Forms) sollte von außen nie direkt zugegriffen werden.
Was das Zeichnen in Windows selbst angeht (wieder ganz unabhängig, ob man auf ein Form oder ein UserControl zeichnen will), gibt es natürlich Tutorials, z.B. [Tutorial] Zeichnen in Windows-Programmen (Paint/OnPaint, PictureBox)
herbivore
PS: Hier noch der Link auf den passenden Abschnitt in der :rtfm: Doku:
MSDN: Entwickeln benutzerdefinierter Windows Forms-Steuerelemente mit .NET Framework
Und daraus noch ein kleiner Hinweis zur Wahl der passenden Oberklasse:
Erben Sie von der Control-Klasse, wenn:
Eine benutzerdefinierte grafische Darstellung des Steuerelements bereitgestellt werden soll.
Benutzerdefinierte Funktionalität hinzugefügt werden muss, die nicht über Standardsteuerelemente verfügbar ist.
Erben Sie von der UserControl-Klasse, wenn:
Die Funktionalitäten mehrerer Windows Forms-Steuerelemente in einer einzigen wiederverwendbaren Einheit kombiniert werden sollen.
Erben Sie von einem Windows Forms-Steuerelement, wenn:
Der größte Teil der benötigten Funktionalität bereits mit einem vorhandenen Windows Forms-Steuerelement identisch ist.
Eine benutzerdefinierte grafische Benutzeroberfläche nicht benötigt wird oder eine neue grafische Benutzeroberfläche für ein vorhandenes Steuerelement erstellt werden soll.
Ja, es sieht vom optischen auch ähnlich, ich bin mir nur unsicher, wie ich daraus ne Komponente mache, mit Properties und nem eigenenBildchen in dem Komponentenfenster
Life is a short
Hallo Seikilos,
auch ein Form ist eine Komponente und kann Properties haben. Bei einem UserControl ist es lediglich wahrscheinlicher, dass man eigene Properties definiert oder die der Oberklasse überschreibt. Und das Definieren oder Überschreiben von Properties geschieht, wie bei jeder anderen Klasse auch. Also nochmal: m.E. ist die größte Schwierigkeit beim Erstellen eines UserControls zu erkennen, dass alles ganz einfach ist.
herbivore
Ja gut, ich designe ein User Control, aber wie kann man es dann in anderen Projekten wiederverwenden? Muss man es irgendwo als Komponenten eintragen?
Life is a short
Beitrag von Seikilos
wie kann man es dann in anderen Projekten wiederverwenden? Muss man es irgendwo als Komponenten eintragen?
Natürlich kannst Du es wiederverwenden, und Du musst es registrieren.
Zum ersten Teil: am besten mit einem aussagefähigen Namespace - z.B. Seikilos.Controls - in eine eigene Assembly (DLL) einbinden. (Es geht auch innerhalb des jeweiligen Projekts, aber zur Wiederverwendung ist das besser.)
Zum zweiten Teil: im Projekt eine Referenz auf diese DLL und im Formular auf den Namespace (using) setzen. Das Control erscheint - je nach IDE sofort oder nach dem nächsten Compilieren - in der Toolbox unter CustomComponents.
Gruß Jürgen
Hallo,
Wenn es um die Erstellung von GUI's, Controls und ähnlichem mit Windows Forms geht kann ich euch das Buch "Pro Windows Forms and Custom Controls" aus dem APRESS Verlag nur wärmstens ans Herz legen.
Der Schreibstil ist locker und immer wieder mit ein paar würzigen Kommentaren gespickt und die technische Kompetenz des Authors ist einmalig.
Link ist zur Seite des Buches beim Verlag
Grüsse, Egon
egrath's Blog: http://egonrath.eg.funpic.de/wordpress
bin gerade dabei das buch zu lesen und kann es jedem empfehlen der sich mit CustomControls Entwicklung beschäftigt
Mein Stackoverflow Profil
Skype Name : Boas.Enkler (bitte einen hinweis in der Kontaktanfrage damit ich euch vom Spam unterscheiden kann)