浅谈C#下winform和JS的互相调用和传参(webbrowser)
程序员文章站
2022-06-15 18:34:27
不多说,直接上代码,winform下button1调用js函数,从html页面获取值,然后js调用winform的函数,传送获取到的值到winform并通过messageb...
不多说,直接上代码,winform下button1调用js函数,从html页面获取值,然后js调用winform的函数,传送获取到的值到winform并通过messagebox的方法show出来。一步到位,winform调用js函数和js调用winform函数的方法都有了。
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编辑器内容进行处理的函数【piikee注】 public void getcontext(string message) { messagebox.show(message); } private void button1_click(object sender, eventargs e) { webbrowser1.document.invokescript("go"); //调用html页面的js函数来传参数和运行winform下的函数 } }
webbrowser中html页面的中js函数代码如下:
function go() { window.external.getcontext(neditor.tgetubb());//neditor.tgetubb是一个获取ubb编辑器内容的函数,此处可以直接写要传递给winform的字符串,记得字符串要加双引号。 }
注意重点: [system.runtime.interopservices.comvisible(true)]和 this.webbrowser1.objectforscripting = this;这两句是必需品。
以上这篇浅谈c#下winform和js的互相调用和传参(webbrowser)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: 采用C#代码动态设置文件权限
下一篇: C# this关键字的四种用法