Laden...

Tutorial Komponentenerstellung (Steuerelemente) gesucht [und Wahl der richtigen Oberklasse]

Erstellt von Schimki86 vor 17 Jahren Letzter Beitrag vor 16 Jahren 13.936 Views
Schimki86 Themenstarter:in
149 Beiträge seit 2006
vor 17 Jahren
Tutorial Komponentenerstellung (Steuerelemente) gesucht [und Wahl der richtigen Oberklasse]

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!!!" 😉

726 Beiträge seit 2003
vor 17 Jahren

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"...

Schimki86 Themenstarter:in
149 Beiträge seit 2006
vor 17 Jahren

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!!!" 😉

S
753 Beiträge seit 2006
vor 17 Jahren

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

49.485 Beiträge seit 2005
vor 17 Jahren

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.

S
753 Beiträge seit 2006
vor 17 Jahren

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

49.485 Beiträge seit 2005
vor 17 Jahren

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

S
753 Beiträge seit 2006
vor 17 Jahren

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

J
3.331 Beiträge seit 2006
vor 17 Jahren

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

871 Beiträge seit 2005
vor 17 Jahren

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

1.134 Beiträge seit 2004
vor 16 Jahren

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)

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo zusammen,

siehe auch Tutorial: eigenes Control

herbivore