Wie Datentyp von DragEventArgs bestimmen

8

Ich habe Drag & Drop in meiner Anwendung implementiert, habe aber Schwierigkeiten, den Typ des gezogenen Objekts zu bestimmen. Ich habe eine Basisklasse Indicator und mehrere davon abgeleitete Klassen. Ein gezogenes Objekt könnte von einem dieser Typen sein. Das folgende Code-Snippet scheint unelegant zu sein und ist anfällig für Wartungsprobleme. Jedes Mal, wenn wir eine neue abgeleitete Klasse hinzufügen, müssen wir daran denken, diesen Code zu berühren. Es scheint, als ob wir in der Lage sein sollten, die Vererbung hier irgendwie zu benutzen.

%Vor%

Ebenso haben wir Probleme mit GetData, um das gezogene Objekt tatsächlich zu erhalten:

%Vor%

Danke.

    
NascarEd 30.06.2010, 14:08
quelle

2 Antworten

8

Speichern Sie Ihre Daten, indem Sie den Typ explizit angeben, d. h.

%Vor%

Damit können Sie es nur auf Basis des Typs Indicator und nicht des untergeordneten Typs abrufen.

    
Adam Robinson 30.06.2010, 14:15
quelle
2

Es gibt die Methode IDataObject.GetFormats :

  

Gibt eine Liste aller Formate zurück, denen in dieser Instanz gespeicherte Daten zugeordnet sind oder in die konvertiert werden kann.

Es ist ein Array von String :

%Vor%

Sie könnten dann diese Liste für Ihren Typ überprüfen, von denen eine Indicator wäre, hätte ich gedacht.

    
ChrisF 30.06.2010 14:15
quelle

Tags und Links