Invoking JavaScript function from WinForms

I've been working on application that needs to load page and display it in WebBrowser control. Requirement was to allow interaction between WinForms application and web page. Here I will show a sample application where JavaScript function is called from WinForms application. For this Blog I will be using Google Web elements , Google Web Elements allow you to easily add your favorite Google products to your website. http://www.google.com/webelements/#!/custom-search Process can be described by following steps: Create Windows Forms application Drop WebBrowser control into Form Create Html with JavaScript function you want to call Calling JavaScript function from WinForms application isn't so difficult. .NET WebBrowser control has property Document which gets an HtmlDocument representing the Web page currently displayed in the WebBrowser control. Well this javascript part is not well written ,maybe my Web God-Like Buddy (Rustan) can clean this mess..lol anyway here's the script JAVASCRIPT So how can you call JavaScript functions in your WebBrowser control? Call the InvokeScript method on the HtmlDocument. .NET CODE (winforms) Sub SHOW_HIDE_VIR_KEYBOARD() With Me.WBrowser .Document.InvokeScript("toggleVisible", New Object() {""}) 'call the javascript from the .htm files End With End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdShow.Click SHOW_HIDE_VIR_KEYBOARD() End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged With Me.WBrowser .Document.GetElementById("txtLang").InnerText = Trim(Me.ComboBox1.Text) 'parse data from winforms to Htm files .Document.InvokeScript("ChangeLayout", New Object() {""}) 'call the javascript from the .htm files End With End Sub Conclusions: With the ability to call JavaScript from .NET App you can now embed and extend web applications into native applications with ease. A native application gives you more control over the environment and access to computer resources that you cannot access from a web page. You can Mashup web applications with computer hardware or software in new and interesting ways. For the complete sample please download the demo project For questions just Contact me @ the Addresses below: mobile : +639399393702

http://www.emondsoft-solutions.com/

Facebook Fan Page

http://www.facebook.com/pages/emondsoft/120502167993693

Follow me on twitter: http://twitter.com/#!/emond07

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by SourceCodester.com for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.

FOR YOUR OWN SAFETY, PLEASE:

1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

Add new comment