tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1785
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Blubbie Blubbie ist offline Grünschnabel
    Registriert seit
    May 2005
    Beiträge
    3
    Ich habe folgendes Problem:

    Ich habe ein Form in dem ein axWebbrowser läuft:

    this.axWebBrowser = new AxSHDocVw.AxWebBrowser();

    was ich nun gerne möchte ist: Drag & Drop Events abzufangen.
    Zur Zeit reagiert der axWebBrowser wie ein normaler Internet Explorer, so dass die Datei direkt angezeigt wird.

    Ich will aber, dass das rein Droppen bei mir ein bestimmtes Event auslöst und ich dann eine bestimmte Funktion starten kann.

    Mit dem "Form" in dem sich der axWebbrowser befindet klappt das auch super:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    this.DragDrop += new System.Windows.Forms.DragEventHandler(this.viewer_DragDrop);
    this.DragEnter += new System.Windows.Forms.DragEventHandler(this.viewer_DragEnter);
     
    private void viewer_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
            {
                       //mache irgendwas.....
    }


    Aber beim this.axWebBrowser kann ich nix machen
    jedenfalls hat der kein:
    this.axWebBrowser .DragDrop oder this.axWebBrowser .DragEnter

    das einzige was nach Drag&Drop aussieht ist:
    Code :
    1
    
    this.axWebBrowser.DoDragDrop  und  this.axWebBrowser.allowDrop

    aber das kann doch nicht alles sein.
    Schließlich hat der axWebBrowser eine richtige Drag & Drop funktionalität - wie der IE.
    Nur will ich eben die bestehenden Events "umschreiben" so dass er nicht so reagiert wie der IE und mir z.b. eine Grafik direkt reinläd - sondern mir in einer MessageBox Name etc. ausgibt.
     

  2. #2
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hi.

    Es gibt das Event BeforeNavigate2. Dieses wird ausgelöst bevor irgendeine neue Datei geladen wird. (Egal ob durch einen Link, oder über Drag&Drop)

    Im Event hast du alle Daten zum neuen Ziel, und könntest den Ladevorgang auch abbrechen.

    Übrigens, bitte halte dich ein wenig mehr an die Groß-/Kleinschreibung.

    MfG,
    Alex
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  3. #3
    Blubbie Blubbie ist offline Grünschnabel
    Registriert seit
    May 2005
    Beiträge
    3
    Danke für den Tipp.
    Leider hilft er mir nur nicht so richtig weiter.

    Ich bekomme zwar das Event gefeuert, aber kann den Browser mit axWebbrowser.stop(); trotzdem nicht vom navigate(...) abhalten.

    Außerdem habe ich dann noch das Problem, dass ich nicht an die Informationen der Drag-Objekte ran komme.

    Ich benötige:
    System.Windows.Forms.DragEventArgs e

    damit ich z.b. den Dateipfad auslesen kann:
    string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
    String dateipfadUNDName = files[0].ToString();
     

  4. #4
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hi.

    Ist ja auch kein Drag&Drop-Event!

    Hast du dir die Parameter des Eventhandlers angesehen?

    Code csharp:
    1
    2
    3
    4
    5
    6
    
    private void browser_BeforeNavigate2(object sender,
                AxSHDocVw.DWebBrowserEvents2_BeforeNavigate2Event e)
    {
        // e.uRL.ToString(); - Pfad der Datei, bzw. Url..
        e.cancel = true; // Laden verhindern
    }
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 08.09.10, 13:16
  2. Drag N Drop - DropEvent abfangen?
    Von MasterEvil im Forum Java
    Antworten: 0
    Letzter Beitrag: 19.06.07, 13:59
  3. SWT: Ghosted Drag-Image bei Drag & Drop
    Von snake_plissken im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 15.04.06, 23:36
  4. Datei mit Drag&Drop abfangen
    Von Divi im Forum Javascript & Ajax
    Antworten: 5
    Letzter Beitrag: 11.01.06, 16:59
  5. PowerPoint Events in der Entwurfsumgebung abfangen
    Von HollyJonsen im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 04.05.04, 17:06