Geerbtes Steuerelement, Eigenschaftendialog zur Entwurfszeit anpas

04/10/2008 - 14:58 von Manfred Wischmann | Report spam
Hallo NG,

ich habe ein Steuerelement mit einem Property wo z.B. ein Bytearray
übergeben werden muss. Wie kriege ich es hin, dass mir zur Entwurfszeit die
Eigenschaft in einem Dropdownmenü alle innerhalb der Form definierten
Bytearrays zur Auswahl anzeigt?

Wenn ich z.B. ein Property vom Typ Timer erstelle, so wird mir beim
Anklicken der Eigenschaft eine Dropdown-Liste geöffnet, in dem alle auf der
Form definierten Timer zur Auswahl angezeigt werden.

Diese Funktion möchte ich auch bei der Auswahl eines Bytearrays haben.

Besten Dank für eure Hilfe,

viele Grüße, Manfred
 

Lesen sie die antworten

#1 Elmar Boye
06/10/2008 - 11:54 | Warnen spam
Hallo Manfred,

Manfred Wischmann schrieb:
ich habe ein Steuerelement mit einem Property wo z.B. ein Bytearray
übergeben werden muss. Wie kriege ich es hin, dass mir zur Entwurfszeit die
Eigenschaft in einem Dropdownmenü alle innerhalb der Form definierten
Bytearrays zur Auswahl anzeigt?



Das wird so einfach nicht funktionieren.
Zunàchst sollten (Byte)Arrays ohnehin nicht als (öffentliche)
Eigenschaft verwendet werden, wie z. B. zu lesen unter:
<URL:http://msdn.microsoft.com/de-de/lib...s.aspx>

Denn wenn auch die Instanz eines Arrays feststeht, so können
die Inhalte direkt veràndert werden.

Wenn ich z.B. ein Property vom Typ Timer erstelle, so wird mir beim
Anklicken der Eigenschaft eine Dropdown-Liste geöffnet, in dem alle auf der
Form definierten Timer zur Auswahl angezeigt werden.



Bei einem Timer funktioniert es zur Entwicklungszeit, weil er in
eine Komponente (System.ComponentModel.Component) verpackt ist.
Darüber kann der Designer (via IReferenceService) zusàtzliche
Informationen liefern und z. B. ein ReferenceConverter
<URL:http://msdn.microsoft.com/de-de/lib...r.aspx>
verwendet werden.

Diese Funktion möchte ich auch bei der Auswahl eines Bytearrays haben.



Für ein (Byte)Array funktioniert das so nicht.

Da ein Byte-Array zunàchst sinnfrei ist, es aber ja vermutlich
eine spezielle Bedeutung hat (wie z. B. eine Bitmap mehr als
nur ein Byte-Array ist), solltest Du das eine Komponente verpacken,
das die Inhalte verwaltet.
Dann kann darauf auch mit einem TypeConverter zugegriffen werden.

Gruß Elmar

Ähnliche fragen