Avatar billede z42cool Nybegynder
11. marts 2002 - 16:25 Der er 1 kommentar og
1 løsning

COM Interop

Hej,

Jeg har brug for at fange onblur på et span som har contentEditable sat til true. I DHTML ser det ud som følger:

<script>
    function handler() {
        alert("onblur catched in script");
    }
    function init() {
        document.getElementById("span1").onblur = handler;
    }
</script>

<body onload="init();">
    <span id="span1" contenteditable="true">
        Hello World!
    </span>
</body>

Ovenstående kalder naturligvis handler() når span'et mister fokus. Nu er problemet at når jeg hoster Microsofts WebBrowser kontrol i en windows form har jeg brug for det samme, bare med en handler skrevet i C#.

function void OnBlurEventHandler(IHTMLEventObj e) {
    MessageBox.Show("onblur catched in C#");
}

function HookEvents() {
    HTMLDocument document = (HTMLDocument)axWebBrowser.Document;
    HTMLElementEvents2_Event span =
(HTMLElementEvents2_Event)document.getElementById("span1");
    span.onblur = new
HTMLElementEvents2_onblurEventHandler(OnBlurEventHandler);
}

Når jeg loader HTML'en ind i WebBrowser kontrollen virker script hook'et fint, men så snart jeg hook'er C# handleren så bliver hverken script handleren eller C# handleren kaldt når span'et mister fokus.
Er der nogen der har en løsning til hvorledes onblur events kan fanges i C# kode?

/Andreas
Avatar billede z42cool Nybegynder
18. marts 2002 - 10:11 #1
200 point og ikke et eneste indlæg :-( Der er sku' ikke mange .Net eksperter på Eksperten!!!
Avatar billede z42cool Nybegynder
13. maj 2002 - 14:07 #2
Lukker :-(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester