WebBrowser: mit maustatse zurück navigieren



  • Moin,

    wie kann ich es machen, dass der Benutzer mit einer Maustaste zurück navigieren kann, wie man es vom IE kennt.



  • im Eventhandler druff reagieren

    private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    		{
    			if(e.Button == MouseButtons.Left)
    			{
    				// tue was rueckwaerts
    			}
    
    			if(e.Button == MouseButtons.Right)
    			{
    				// tue was vorwaerts
    			}
    		}
    

    so etwa kannst dort och nen switch einbauen anstatt mit ifs
    zu arbeiten

    mit freundlicher unterstützung sclearscreen



  • Moin,

    das Problem ist aber leider, dass System.Windows.Forms.WebBrowser keine Mouse events hat und das Control indem der WebBrowser integriert ist, keine Mouseevents empfängt.

    System.Windows.Forms.WebBrowser m_WebBrowser;
    ..
    m_WebBrowser.MouseClick += new System.Windows.Forms.MouseEventHandler(OnMouseClick); // <- geht nicht, das MouseClick nicht existiert
    
    this.MouseClick += new System.Windows.Forms.MouseEventHandler(WebPage_MouseClick); // geht zwar, aber empfängt den Mouseclick nicht
    


  • hi

    1. Möglichkeit
    es wäre besser wenn du MouseUp - Event von dem Objekt überlädst
    dann müsstest du auch die Mouseevemtargs bekommen, ähnlich wie mans bei ner Form - Instanz machen würde!

    2. Möglichkeit
    Wenn man bei ner Forms - Instanz den Click - Event überlädt kommt man
    auch an die Mausachen ran wenn man den sender - Parameter in die übergordnet Form - Klasse castet weil die Form als Member den MouseButton oder so ähnlich hat! Also was ich sagen will Du könntest hier auch einen Cast wagen um an den MausButton - Meber ranzukommen! Nur sagen in welchen Typ Du casten musst das weiss ich nicht! Kannst Du also nur mal probieren. Vielleicht wenn die Klasse WebBrowser nen öffentlichen Member
    ala MouseButton oderso hat könntest Du den sender nach WebBrowser
    casten innerhalb der Methode und schon hast du auch deine Maustasten!

    Du könntest also auch hier mal versuchen bei deinem WebBrowser den sender - Parameter zu casten um dann auch wieder an den besagten Member ranzukommen.

    Ich denke aber die 1. Möglichkeit wäre am besten für dich.

    mfg sclearscreen

    P.S.: Ach schwer Sprache deutsch es ist schon spät, mir fallen gleich die Augen zu, hoffentlich bin ich in meiner derzeitigen Lage trotzdem irgendwie verständlich rübergekommen


Anmelden zum Antworten