淺談C#下winform和JS的互相調(diào)用和傳參(webbrowser)
不多說,直接上代碼,winform下button1調(diào)用js函數(shù),從html頁面獲取值,然后JS調(diào)用WINFORM的函數(shù),傳送獲取到的值到winform并通過messagebox的方法show出來。一步到位,winform調(diào)用JS函數(shù)和JS調(diào)用winform函數(shù)的方法都有了。
C#的winform下代碼如下:
[System.Runtime.InteropServices.ComVisible(true)] public partial class Form1 : Form { public Form1() { InitializeComponent(); webBrowser1.Navigate(Application.StartupPath + @".\edt\index.html"); this.webBrowser1.ObjectForScripting = this; } //對獲取到的UBB編輯器內(nèi)容進(jìn)行處理的函數(shù)【piikee注】 public void getContext(string message) { MessageBox.Show(message); } private void button1_Click(object sender, EventArgs e) { webBrowser1.Document.InvokeScript("go"); //調(diào)用html頁面的JS函數(shù)來傳參數(shù)和運(yùn)行winForm下的函數(shù) } }
webbrowser中html頁面的中JS函數(shù)代碼如下:
function go() { window.external.getContext(nEditor.tGetUBB());//nEditor.tGetUBB是一個(gè)獲取UBB編輯器內(nèi)容的函數(shù),此處可以直接寫要傳遞給WINFORM的字符串,記得字符串要加雙引號(hào)。 }
注意重點(diǎn): [System.Runtime.InteropServices.ComVisible(true)]和 this.webBrowser1.ObjectForScripting = this;這兩句是必需品。
以上這篇淺談C#下winform和JS的互相調(diào)用和傳參(webbrowser)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- C#后臺(tái)調(diào)用前臺(tái)JS函數(shù)方法
- C#使用Http Post方式傳遞Json數(shù)據(jù)字符串調(diào)用Web Service
- 使用C# 的webBrowser寫模擬器時(shí)的javascript腳本調(diào)用問題
- c#和javascript函數(shù)相互調(diào)用示例分享
- Javascript調(diào)用C#代碼
- C#后臺(tái)調(diào)用前臺(tái)javascript的五種方法小結(jié)
- Javascript 直接調(diào)用服務(wù)器C#代碼 ASP.NET Ajax實(shí)例
- javascript與asp.net(c#)互相調(diào)用方法
- 在C#中調(diào)用VBScript、javascript等腳本的實(shí)現(xiàn)代碼
- C# javaScript函數(shù)的相互調(diào)用
- .net中前臺(tái)javascript與后臺(tái)c#函數(shù)相互調(diào)用問題
- C#調(diào)用JS的幾種方法
相關(guān)文章
C#使用iTextSharp將PDF轉(zhuǎn)成文本的方法
這篇文章主要介紹了C#使用iTextSharp將PDF轉(zhuǎn)成文本的方法,涉及C#操作pdf文件的相關(guān)技巧,需要的朋友可以參考下2015-05-05winform異型不規(guī)則界面設(shè)計(jì)的實(shí)現(xiàn)方法
這篇文章主要介紹了winform異型不規(guī)則界面設(shè)計(jì)的實(shí)現(xiàn)方法,具有不錯(cuò)的實(shí)用價(jià)值,需要的朋友可以參考下2014-08-08C# 并行和多線程編程——認(rèn)識(shí)和使用Task
這篇文章主要介紹了C# 并行和多線程編程——認(rèn)識(shí)和使用Task的的相關(guān)資料,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-02-02C#使用后臺(tái)線程BackgroundWorker處理任務(wù)的總結(jié)
這篇文章主要介紹了C#使用后臺(tái)線程BackgroundWorker處理任務(wù)的總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07C# Winform實(shí)現(xiàn)導(dǎo)出DataGridView當(dāng)前頁以及全部數(shù)據(jù)
基本上,所有的業(yè)務(wù)系統(tǒng)都會(huì)要求有導(dǎo)出的功能,所以這篇文章主要為大家介紹了如何利用Winform實(shí)現(xiàn)原生DataGridView的導(dǎo)出功能,需要的可以參考一下2023-07-07