Drag & Drop: Control unter Mausposition

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von DragsTrail.

    Drag & Drop: Control unter Mausposition

    Hallo.

    Ich habe 12 PictureBoxes und 1 Panel. Die PB ziehe ich in das Panel, erzeuge dynamische Controls ( PictureBox ) und sortiere sie nach einander in der Y-Achse. Beim erstellen bekommt jedes Control einen Namen mit fortlaufender Nummer.
    Mit Rechtsklick kann ich wahllos die PB aus dem Panel löschen. Alle PB´s welche drunter liegen rücken nach.

    Jetzt möchte ich gerne eine PB von außerhalb des Panels nehmen und diese in dem Panel zwischen 2 existierenden dynamisch erstellten PB setzen.

    Mein Problem ist, dass ich wehrend des DD-Ereignisses keine Informationen auslesen kann, welche von den dynamisch erstellten PB´s im Panel sich unter der Maus befinden.

    Hilfe???

    Vielen Dank
    @DragsTrail Gugst Du hier: vbarchiv.net/tipps/tipp_461-co…-mauszeiger-auslesen.html
    Misst Du allerdings nach VB.NET übertragen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!

    DragsTrail schrieb:

    Mein Problem ist, dass ich wehrend des DD-Ereignisses keine Informationen auslesen kann, welche von den dynamisch erstellten PB´s im Panel sich unter der Maus befinden.
    wieso ist das ein Problem?
    Jedes Control hat seine Abmasse (Propety Bounds), und da kann man doch feststellen, ob die Maus drinnen oder draussen ist.

    Allerdings weiss ich nicht, was du mit "das DD-Ereignis" meinst. Ein Dragvorgang verursacht viele Ereignisse, und das mit dem Control unter Maus wäre das DragOver-Event.

    Achso - das DragOver geht auch noch genau an das Ziel-Control, was du suchst.
    Also einfach aller PicBoxen DragOver abonnieren, und diejenige, die feuert, da ist die Maus drüber.