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

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

piikee13年前 (2011-04-14).net专区717
不多说,直接上代码,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

分享给朋友:

相关文章

SQL 2005中设置两个主键的方法

SQL2005中,可视化见表,选中一行设置主键,然后再选一行设置主键,则刚才设置的主键就自动取消了。怎么设置两个主键呢。其实Windows中很多东西都是融会贯通的,想一想多选的Ctrl键不就解决了~ 按住Ctrl,用鼠标选两个行,然后右键,...

SQL卸载重装遇到实例名重复,实例名删不掉的问题

Sql2005卸载后,在重新安时会碰到以前安装的实例名还在的问题,然后如果自定义实例名一样的话会报错说实例名重复。那么怎样删除以前的那些实例名呢?首先,确认你把所有SQL相关程序都卸载了。然后,删除C:\Program Files\Micr...

asp.net实现动态显示当前时间

asp.net实现动态显示时间的两个方法方法一:不用javascrip,而是用了AJAX。(开销比较大,每秒向服务器请求一次时间)Default.aspx页面:先拉一个ScriptManager控件到页面,然后拉一个UpdatePanel控...

SQL2005服务无法启动,错误代码3417的终极解决办法

sql2005,在服务管理里面启动sql的服务报出错误代码3417的错误。错误框提示为:“Windows不能在 本地计算机 启动 SQL Server(MSSQLSERVER)。有关更多信息,查阅系统事件日志。如果这是非Microsoft...

zedgraph

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

为DataGridView的一个列加入DateTimePicker控件

由于DataGridView自带的ColumnType里面没有DateTimePicker这个控件。所以要实现一个输入日期的列就比较麻烦了。通过以下方法可以往DataGridView加入DateTimePicker控件。首先,前端设计加入一...

发表评论

访客

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