淺談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是一個獲取UBB編輯器內(nèi)容的函數(shù),此處可以直接寫要傳遞給WINFORM的字符串,記得字符串要加雙引號。
}
注意重點(diǎn): [System.Runtime.InteropServices.ComVisible(true)]和 this.webBrowser1.ObjectForScripting = this;這兩句是必需品。
以上這篇淺談C#下winform和JS的互相調(diào)用和傳參(webbrowser)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- C#后臺調(diào)用前臺JS函數(shù)方法
- C#使用Http Post方式傳遞Json數(shù)據(jù)字符串調(diào)用Web Service
- 使用C# 的webBrowser寫模擬器時的javascript腳本調(diào)用問題
- c#和javascript函數(shù)相互調(diào)用示例分享
- Javascript調(diào)用C#代碼
- C#后臺調(diào)用前臺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中前臺javascript與后臺c#函數(shù)相互調(diào)用問題
- C#調(diào)用JS的幾種方法
相關(guān)文章
C#利用TreeView控件實(shí)現(xiàn)目錄跳轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了C#潤滑利用TreeView控件實(shí)現(xiàn)目錄跳轉(zhuǎn)功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動手嘗試一下2022-07-07
C#實(shí)現(xiàn)運(yùn)行狀態(tài)堆疊柱狀圖
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)運(yùn)行狀態(tài)堆疊柱狀圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
C#基于時間輪調(diào)度實(shí)現(xiàn)延遲任務(wù)詳解
在很多.net開發(fā)體系中開發(fā)者在面對調(diào)度作業(yè)需求的時候一般會選擇三方開源成熟的作業(yè)調(diào)度框架來滿足業(yè)務(wù)需求,但是有些時候可能我們只是需要一個簡易的延遲任務(wù)。本文主要分享一個簡易的基于時間輪調(diào)度的延遲任務(wù)實(shí)現(xiàn),需要的可以參考一下2022-12-12
c#?復(fù)寫Equals方法的實(shí)現(xiàn)
本文主要介紹了c#?復(fù)寫Equals方法的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
C#實(shí)現(xiàn)NPOI的Excel導(dǎo)出詳解
這篇文章主要介紹了C#實(shí)現(xiàn)NPOI的Excel導(dǎo)出的示例代碼,文中的實(shí)現(xiàn)過程講解詳細(xì),對我們的學(xué)習(xí)或工作有一定的幫助,感興趣的可以跟隨小編一起學(xué)習(xí)一下2022-01-01
C#實(shí)現(xiàn)JSON字符串序列化與反序列化的方法
在這篇文章中,我們將會學(xué)到如何使用C#,來序列化對象成為Json格式的數(shù)據(jù),以及如何反序列化Json數(shù)據(jù)到對象。2017-01-01
C# 字符串與unicode互相轉(zhuǎn)換實(shí)戰(zhàn)案例
這篇文章主要介紹了C# 字符串與unicode互相轉(zhuǎn)換實(shí)戰(zhàn)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
C#使用AnimateWindow()實(shí)現(xiàn)動畫窗體的方法
用API函數(shù)AnimateWindow函數(shù)來實(shí)現(xiàn)窗體的動畫效果,在C#中,你可以使用P/Invoke技術(shù)調(diào)用Windows API中的AnimateWindow函數(shù)來實(shí)現(xiàn)動畫窗體,本文就給大家介紹了C#使用AnimateWindow()實(shí)現(xiàn)動畫窗體的方法,感興趣的朋友可以參考下2024-04-04
C#使用foreach遍歷哈希表(hashtable)的方法
這篇文章主要介紹了C#使用foreach遍歷哈希表(hashtable)的方法,是C#中foreach語句遍歷散列表的典型應(yīng)用,非常具有實(shí)用價值,需要的朋友可以參考下2015-04-04

