UserControl-Designer für von Control abgeleitete Klasse verwenden

Shakie

Erfahrenes Mitglied
Hallo,
ich habe eine ganz simple Klasse, die einfach nur von Control erbt:
Code:
Public Class MeinControl
    Inherits Control
End Class
Wie kann ich VisualStudio nun dazu bringen, dass es mir einen Designer anzeigt, wenn ich einen Doppelklick auf die Datei mache, in der die Klasse gespeichert ist? Mit "Designer" meine ich das Verhalten, das auch ein UserControl standardmäßig aufzeigt: das UserControl wird angezeigt und ich kann andere Controls auf das UserControl per Drag&Drop aus der Werkzeugleiste ziehen. Dieses Verhalten würde ich auch gerne für "MeinControl" haben.
Ich möchte nicht von UserControl erben, da die BorderStyle-Eigenschaft nicht existieren soll.
Ich vermute mal, dass ich meiner Klasse ein Designer-Attribut geben muss. Aber welches?
 
Hallo,


Wenn du "MeinControl" als Verweis zu einem Projekt hinzufügst welches mit diesem Control arbeiten soll, dann kannst über die Toolbox im Designer(Rechte Maustaste->Elemente auswälen) dein "Mein Control" suchen, haken rein und, sofern des sich um ein Control handelt, sollte dieses auch anschließend in der Toolbox angezeigt werden. Hab das aber bisher nur mit "UserControl" objekten gemacht.

Ich verwende VS2008, aber ich denke das es auch in anderen Versionen gleich ist.

Zum anderen kannst du die mal die Attribute (DesignerSerializationVisibility und EditorBrowsable) zu gemüte führen ich glaube das geht in die richtung was du machen willst.

Gruß
 
Hallo napstermania,
Danke für deine Antwort, aber das ist nicht ganz mein Problem. Das Control wird bereits in der Toolbox angezeigt. Ich kann es auch beispielsweise problemlos auf eine Form ziehen. Was ich aber möchte, ist, dass ich Controls auf "MeinControl" ziehen kann und diese Controls dann fester Bestandteil der Klasse "MeinControl" sind.
DesignerSerializationVisibility-Attribut ist per Definition nicht auf Klassen anwendbar und EditorBrowsable legt nur fest, ob beispielsweise IntelliSense die Klasse auflisten soll oder nicht. Das hat gar nichts mit meinem Problem zu tun.

Ich versuche es mal so zu erklären: man fügt seinem Projekt ein neues UserControl hinzu. Dann doppelklickt man auf die neue Datei. Jetzt öffnet VisualStudio ein Fenster/Tab/wasauchimmer um das UserControl zu editieren. Es wird eine graue Fläche angezeigt, die das leere UserControl darstellt. Das will ich auch für mein Control.
Ist es jetzt klarer?

EDIT: Es scheint wohl gar nicht möglich zu sein. Habe diese Seite bei Microsoft gefunden, da hat jemand exakt mein Problem aber es gibt keine Lösung.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück