您好,欢迎访问一九零五行业门户网

JavaScript与C# Windows应用程序交互方法_javascript技巧

一、建立网页
javascript访问c#代码
二、建立windows应用程序
1.       创建windows应用程序项目
2.       在form1窗体中添加webbrowser控件
3.       在form1类的上方添加
[system.runtime.interopservices.comvisibleattribute(true)]
这是为了将该类设置为com可访问。如果不进行该声明将会出错。出错信息如下图所示:
如:
[system.runtime.interopservices.comvisibleattribute(true)]
public partial class form1 : form
4.初始化webbrowser的url与objectforscripting两个属性。
url属性:webbrowser控件显示的网页路径
objectforscripting属性:该对象可由显示在webbrowser控件中的网页所包含的脚本代码访问。
将url属性设置为需要进行操作的页的url路径。
javascript通过window.external调用c#公开的方法。即由objectforscripting属性设置的类的实例中所包含的公共方法。具体设置例子如下:
system.io.fileinfo file = new system.io.fileinfo(index.htm);
// webbrowser控件显示的网页路径
webbrowser1.url = new uri(file.fullname);
// 将当前类设置为可由脚本访问
webbrowser1.objectforscripting = this;
5.c#调用javascript方法
通过webbrowser类的document属性中的invokescript方法调用当前网页的javascript方法。如:
// 调用javascript的messagebox方法,并传入参数
object[] objects = new object[1];
objects[0] = c#访问javascript脚本;
webbrowser1.document.invokescript(messagebox, objects);
完整代码如下:
[system.runtime.interopservices.comvisibleattribute(true)]
public partial class form1 : form
{
public form1()
{
initializecomponent();
system.io.fileinfo file = new system.io.fileinfo(index.htm);
// webbrowser控件显示的网页路径
webbrowser1.url = new uri(file.fullname);
// 将当前类设置为可由脚本访问
webbrowser1.objectforscripting = this;
}
private void button1_click(object sender, eventargs e)
{
// 调用javascript的messagebox方法,并传入参数
object[] objects = new object[1];
objects[0] = c#访问javascript脚本;
webbrowser1.document.invokescript(messagebox, objects);
}
// 提供给javascript调用的方法
public void mymessagebox(string message)
{
messagebox.show(message);
   }
}
dnew.cn 注:原文:http://www.cnblogs.com/xds/archive/2007/03/02/661838.html
其它类似信息

推荐信息