Nõuded: Kuidas saab WebView2 kasutaja tegevuste jaoks veebiressursse kuvada ja kuvada, kuidas saab veebiliides suhelda WinFormi rakendusega? Näiteks loeb veeb rakenduse kaudu riistvarainfot ning rakendus värskendab aktiivselt veebilehe sisu.
Läbivaatamine:
Esiteks vaata veebi ja WinFormi rakenduse vahelise suhtluse renderdusi, veeb saadab rakendusele sõnumi,Käivita kalkulaatorfunktsioon, mis avab Windowsi süsteemiSamal ajal suudab rakendus edukalt vastu võtta ka veebipoolele saadetud sõnumeid, nagu alloleval joonisel näidatud:
Suhtlus hosti ja veebisisu vahel
Hoste ja veebisisu saab postMessagesis omavahel suhelda järgmiselt:
- WebView2 kontrolli veebisisu saab kasutada sõnumi avaldamiseks hostile aadressil window.chrome.webview.postMessage. Host töötleb sõnumit iga sõnumiga, mis registreerib WebMessageReceived'i hostis.
- Host avaldab sõnumeid veebisisule WebView2 juhtimissüsteemis CoreWebView2.PostWebMessageAsString või CoreWebView2.PostWebMessageAsJSON kaudu. Need sõnumid salvestatakse kasutaja poolt, kes lisatakse aadressile window.chrome.webview.addEventListener.
Loo uus Angular SPA projekt
See artikkel kasutab Angular 8.2.14 versiooni, et luua uus veebiprojekt, mis demonstreerib veebi ja WinFormi rakenduse vahelist suhtlust.
Kood on järgmine:
Samal ajal muuda app.component.html ja app.component.ts faile, et täita sõnumite saatmise ja vastuvõtmise funktsioone.
app.component.html kood on järgmine:
app.component.ts kood on järgmine:
Juhtige projekti allpool näidatud kujul:
WinFormi rakendus
Hostrakendus peab koodi muutma järgmiselt:
WebView2 juhtimise muutmineAllika atribuut on: http://localhost:4200/rakenduse käivitamiseks, nagu allpool näidatud:
Lõpuks proovi saata sõnumeid üksteisele veebirakenduste ja WinFormi rakendustega ning näed, et mõlemad pooled saavad sõnumeid edukalt kätte, nagu on näidatud järgmises joonises:
(Lõpp)
|