IHTMLFormElement.onsubmit

Hallo,

ich versuche gerade ein „Browser Helper Object“ (BHO) für den Internet Explorer zu schreiben. Dabei ist es nötig ein IHTMLFormElement.onsubmit zu behandeln. In der MSDN Library steht, dass der Wert für onsubmit vom VT_DISPATCH sein muß. Nun weiss ich jedoch nicht so richtig wie man das in c# bewerkstelligen soll.

Auf folgende Art und Weise hab ich das bisher versucht:

IHTMLDocument2 document = (IHTMLDocument2)browser.Document;
IHTMLFormElement form = (IHTMLFormElement)document.all.item("data", null);
form.onsubmit = new HTMLFormElementEvents\_onsubmitEventHandler(OnSubmit);

Der Code übersetzt zwar einwanfrei, doch die Methode OnSubmit wird beim Auslösen des onSubmit Ereignisses nicht ausgeführt.

Vielleicht weiss ja einer von euch wie man das machen muss. Bin für jede Hilfe dankbar.

Gruß
Christoph

Hallo!
Anscheinend haben andere auch das Problem: Ein kurzes googlen nach „IHTMLFormElement onsubmit c#“ ergab etliche Treffer, z.T. auch mit Workarounds.
Es scheint aber tatsächlich ein Bug in der MSHTML Komponente (oder dem RCW) zu sein.

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!
Anscheinend haben andere auch das Problem: Ein kurzes googlen
nach „IHTMLFormElement onsubmit c#“ ergab etliche Treffer,
z.T. auch mit Workarounds.
Es scheint aber tatsächlich ein Bug in der MSHTML Komponente
(oder dem RCW) zu sein.

Gruß,
Martin

Erstmal danke für deine Hilfe. Das onSubmit Event kann man tatsächlich nicht abfangen. Aber konnte jetzt mein Problem mit dem unten stehenden Workaround lösen. Fange jetzt einfach das onClick Event des Submitbuttons ab.

IHTMLDocument2 document = (IHTMLDocument2)browser.Document;
HTMLInputElementClass submitButton = (HTMLInputElementClassdocument.all.item("dataSubmit", null);
submitButton.HTMLButtonElementEvents\_Event\_onclick += new HTMLButtonElementEvents\_onclickEventHandler(OnSubmit);

Gruß
Christoph