UserControls vs. CustomControls - Frage

06/03/2009 - 22:41 von M.Erlinger | Report spam
Hallo

folgende Problemstellung: ich habe zum Beispiel in meiner Applikation
ein DropDown-Control (wird aus einer DB-Tabelle befüllt) sehr oft auf
verschiedenen Forms im Einsatz.
Ich dachte mir, diese wàre doch am besten auf ein UserControl oder
CustomControl zu geben - dort sàmtliche Initalisierungs-Methoden
ausprogrammieren, verschiedenste Parameter abhandeln, usw... und dann
dieses Control weiter zu verwenden.

Meine Frage ist jetzt UserControl oder CustomControl ?? - ich denke
bei einem Control wird es sicher eher im CustomControl abspielen.

Und ich habe auch diesbezüglich nicht sehr viel Info im Internet
gefunden - vielleicht hat hier jemand ein paar Tipps für mich / oder
ein Beispiel.

Danke & schönen Gruß
Michael
 

Lesen sie die antworten

#1 Frank Dzaebel
07/03/2009 - 09:12 | Warnen spam
Hallo Michael,

Meine Frage ist jetzt UserControl oder CustomControl ?? - ich denke
bei einem Control wird es sicher eher im CustomControl abspielen.



Die Haupt-Info Deiner Frage ist, das es sich um ein
"DropDown-Control" handeln soll (also eine Art ComboBox
Listbox, o.à., wobei man bei den beiden Klassen z.B. Möglichkeiten
über den DrawMode hat, selber zu zeichnen, wenn die Anforderungen
an die Darstellung sehr speziell sind.)
Da Deine Info sehr wenig ist, auch nur eine Antwort,
die nur ganz grob die Richtung treffen kann:
Haupsàchlich würde ich in diesem Fall gegen ein
bestehendes Control erben. Ggf. noch ein UserControl
aber selten in diesem Fall ein CustomControl. Da müsstest
Du schon sehr spezielle Ansprüche haben.

Dies nur ganz grob, denn es hàngt davon ab, welche
Anforderungen Du an Dein Control stellst!
___________

ok, zunàchst, damit wir über das gleiche sprechen:

- CustomControl ist ein "Benutzerdefiniertes Steuerelement"
normal von Control erbend, auch unter "owner drawn controls"
auffindbar.

- UserControl ist ein "Benutzersteuerelement"
(normal von UserControl erbend)
__________

*Empfehlungen*:

- Erbe von der *UserControl*-Klasse, wenn:
Die Funktionalitàten mehrerer Windows Forms-Steuerelemente in
einer einzigen wiederverwendbaren Einheit kombiniert werden sollen.

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

- Erbe 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.
___________

[Custom Controls in Visual C# .NET]
http://www.akadia.com/services/dotn...trols.html

[Arten von benutzerdefinierten Steuerelementen]
http://msdn.microsoft.com/de-de/lib...71725.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen