当前位置:首页 > 计算机相关 > .net专区 > 正文内容

C#下winform和JS的互相调用和传参(webbrowser)

piikee12年前 (2011-04-14).net专区384
不多说,直接上代码,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下的函数【www.piikee.net原创】
}
}
webbrowser中html页面的中JS函数代码如下:
<script language=javascript>
function go()
{
window.external.getContext(nEditor.tGetUBB());//nEditor.tGetUBB是一个获取UBB编辑器内容的函数,此处可以直接写要传递给WINFORM的字符串,记得字符串要加双引号。
}
</script>
注意重点: [System.Runtime.InteropServices.ComVisible(true)]和  this.webBrowser1.ObjectForScripting = this;这两句是必需品。
看得懂的自然看得懂,看不懂的自然看不懂,就不做过多解释,转载请注明来【自萍客小居】http://www.piikee.net。

扫描二维码推送至手机访问。

版权声明:本文由萍客小居发布,如需转载请注明出处。

本文链接:https://www.piikee.net/829.html

分享给朋友:

相关文章

C#窗体也有DOCK属性

在一个主窗体里面,放入一个PANEL和一个窗体。然后,里面那个窗体最大化时,会覆盖了PANEL或者被PANEL覆盖。要让里面的窗体最大化时刚好把PANEL剩下的空间填满可以这样做: 把form2.Dock = DockStyle.Fill;...

C#泛型的好处

关于object类型:1.object类型可以来引用任何类型的实例;2.object类型可以存储任何类型的值;3.可以定义object类型的参数;4.可以把object作为返回类型。但是--这样做有很大的问题1.会因为程序员没有记住使用的类...

SQL语句重命名数据库表和表中的列

A.   重命名表将表   oldTableName  重命名为  newTableName :EXEC   sp_rename   'oldTableName','newTableName'B.   重命名列将表 EMIS  中的列  ...

zedgraph

ZedGraph官方主页:http://zedgraph.org/wiki/index.php?title=Main_PageZedGraph下载地址:http://sourceforge.net/projects/zedgraph/fil...

C#重写WndProc 方法实现无法关闭的窗体

在窗体的设计文件Form1.Designer.cs中重写WndProc 方法 ,实现拦截窗体特定消息。代码如下:protected override void WndProc(ref System.Windows.Forms.Message...

正则表达式简介及学习教程下载

正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', '...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。