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.
Ebenso haben wir Probleme mit GetData, um das gezogene Objekt tatsächlich zu erhalten:
%Vor%Danke.
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.
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
:
Sie könnten dann diese Liste für Ihren Typ überprüfen, von denen eine Indicator
wäre, hätte ich gedacht.
Tags und Links winforms drag-and-drop