Browser Control per Drag Drop HTML Element auf anderes HTML Element ziehen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von BobTheRocker.

    Browser Control per Drag Drop HTML Element auf anderes HTML Element ziehen

    Hi,
    ist es möglich, in einer WebBrowser Form (System.Windows.Forms.WebBrowser) ein HTML-Element (z.B. einen <div>-Container) auf ein anderes HTML-Element (z.B. auch ein <div>-Container oder ein Bild) zu ziehen. Es funktioniert über diverse Klick- und Mausfunktionen, jedoch will ich es rein quelltextabhängig programmieren.

    So ungefähr sieht das erste HTML Element aus:

    HTML-Quellcode

    1. <div id="id1" title="title1" class="class1" style="position:absolute; width: 50px; height:50px;">
    2. <img id="imgid1" alt="imgalt1" style="position:absolute;" src="imgsrc1.jpg" onclick="imgonclick1">
    3. </div>


    Und dies ist das HTML Element, auf welches ich das erste HTML Element per Browser Control (Drag&Drop) ziehen möchte:

    HTML-Quellcode

    1. <div id="id2" class="class2" style="position:absolute; width:200px; height: 200px;" onmouseover="onmouseover2" onmouseout="onmouseout2">
    2. &nbsp;
    3. </div>


    Beide Elemente befinden sich natürlich im selben Browser-Control-Fenster (b_window):

    VB.NET-Quellcode

    1. Me.b_window = New System.Windows.Forms.WebBrowser()
    2. ...
    3. b_window.Navigate("http://www.seitemitzweihtmlelementen.de", False)
    4. b_window.ScriptErrorsSuppressed = True


    Kann ich ohne Mausklicks und Mausdrags zu simulieren das eine Element auf das andere ziehen? Wenn ja, wie?

    Schon mal danke im Vorraus,

    BobTheRocker
    Hallo,
    vielen Dank für deine Antwort.
    Das hab ich bereits probiert, das HTML Element wird auch verschoben, aber eben nicht gedropt. Es hängt dann über dem zweiten DIV quasi in der Luft. Ich will aber den gleichen Effekt erreichen, als wie wenn ich das Element 1 mit der Maus nehme, auf Element 2 ziehe und dann die linke Maustaste wieder AUSLASSE.

    Grüße,
    BobTheRocker
    webbrowser.Document.InvokeScript("{onmouseover}")

    div bewegen

    webbrowser.Document.InvokeScript("{onmouseout}")

    {onmouseover} ersetzen durch das javascript was im div event "onmouseover" passiert

    {onmouseout} ersetzen durch das javascript was im div event "onmouseout " passiert



    //KP obs geht nur ne idee