Hi
Bastel jetzt schon mehrere Tage dran rum, und komme nicht weiter

.
Hab mich auf diversen Seiten im Netz schlau gemacht und auch eine kleine
Testanwendung geschrieben.
Hab eine Form mit zwei Panels erstellt, bei denen per Drag&Drop
das Hintergrundbild des Panels verschoben werden soll (das funktioniert).
In der richtigen Anwendung nicht, obwohl kein Fehler erscheint

.
Wenn ich auf die Quelle klicke, erscheint auch kein Icon

.
Dort erstelle ich zur Laufzeit in einer Schleife 10 Panels
und weise dort die Eigenschaften und die Methoden zu.
C#-Quelltext
1: 2: 3: 4: 5:
| XPanel[i].AllowDrop = true; XPanel[i].Tag = i; XPanel[i].DragDrop += new DragEventHandler(OnDragDrop); XPanel[i].DragEnter += new DragEventHandler(OnDragEnter); usw. |
OnDragEnter
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| public void OnDragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.Bitmap)) { e.Effect = DragDropEffects.Move; } else { e.Effect = DragDropEffects.None; }
} |
OnMouseDown
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| public void PNL_MouseDown(object sender, EventArgs e) { Panel Source = (Panel)sender; if (Source.BackgroundImage != null) {
DoDragDrop(Source.BackgroundImage, DragDropEffects.Move); Source.BackgroundImage = null; } }
} |
OnDragDrop
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| public void OnDragDrop(object sender, DragEventArgs e) { Panel Dest = (Panel)sender; Dest.BackgroundImage = (Bitmap)e.Data.GetData(DataFormats.Bitmap);
} |
Vielleicht hat es was mit dem Index zu tun? - wäre für Tipps dankbar.