Klasse als Eigenschaft eines Steuerelementes

HD-Driver

Grünschnabel
Hallo zusammen,

als neues Mitglied in diesem Forum, möchte ich alle anderen herzlich grüßen.

Desweiteren bitte ich um Hilfe bei einem Problem mit VB.Net (Microsoft Visual Basic 2005 Express Edition).

Ich möchte ein Steuerelement erstellen, das als Eigenschaft eine Klasse beinhaltet. Das Aufrufen des zugeordneten UITypeEditor (<EditorAttribute(GetType(PropertyClassEditor), GetType(System.Drawing.Design.UITypeEditor))> funktioniert poblemlos. Ebenso das Ändern der Klasseneigenschaften in einer modalen Form. Beim Übernehmen der Änderungen werden diese auch gespeichert.

Ich sollte (muß) noch erwähnen, daß keine Child-Controls verwendet werden. Mein Steuerelement wird komplett über die Graphics-Methode in dem überschriebenen OnPaint-Ereigniss gezeichnet.

Nun zu meinem Problem:

Zum Ersten:
Obwohl in der aufrufenden Eigenschaft ein Neuzeichnen durch Invalidate() ausgelöst werden sollte, wird dies nicht durchgeführt. Erst beim Wechseln des Controls auf der Designer Oberfläche wird neu gezeichnet.

Wer kann mir aufzeigen, wie ein Neuzeichnen meines Kontrolls nach Beendigung des UITypeEditor durchgeführt wird.

Zum Zweiten:
Nach dem erneuten Erstellen des Controls und Auswahl des Property mit der Klasse als Eigenschaft erfolgt die Meldung 'Das Objekt des Types PropertyClass kann nicht in Typ PropertyClass umgewandelt werden.'

Wenn das Programm (VB 2005) beendet und wieder neu gestartet wird ist der Fehler weg. Nach neuerlichem Erstellen des Controls tritt er wieder auf.

Wer kann mir dieses Verhalten erklären bzw. wer hat eine Lösung zum Beseitigen des Problem parat.

Grüße von HD-Driver
 
Zurück