手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JavaScript与C# Windows应用程序交互方法
JavaScript与C# Windows应用程序交互方法
摘要:一、建立网页functionmessageBox(message){alert(message);}javascript访问C#代码二、建立...

一、建立网页

<html>

<head>

<metahttp-equiv="Content-Language"content="zh-cn">

<scriptlanguage="javascript"type="text/javascript">

<>

functionmessageBox(message)

{

alert(message);

}

</script>

</head>

<body>

<>

<buttononclick="window.external.MyMessageBox('javascript访问C#代码')">

javascript访问C#代码</button>

</body>

</html>

二、建立Windows应用程序

1.创建Windows应用程序项目

2.在Form1窗体中添加WebBrowser控件

3.在Form1类的上方添加

[System.Runtime.InteropServices.ComVisibleAttribute(true)]

这是为了将该类设置为com可访问。如果不进行该声明将会出错。出错信息如下图所示:

如:

[System.Runtime.InteropServices.ComVisibleAttribute(true)]

publicpartialclassForm1:Form

4.初始化WebBrowser的Url与ObjectForScripting两个属性。

Url属性:WebBrowser控件显示的网页路径

ObjectForScripting属性:该对象可由显示在WebBrowser控件中的网页所包含的脚本代码访问。

将Url属性设置为需要进行操作的页的URL路径。

JavaScript通过window.external调用C#公开的方法。即由ObjectForScripting属性设置的类的实例中所包含的公共方法。具体设置例子如下:

System.IO.FileInfofile=newSystem.IO.FileInfo("index.htm");

//WebBrowser控件显示的网页路径

webBrowser1.Url=newUri(file.FullName);

//将当前类设置为可由脚本访问

webBrowser1.ObjectForScripting=this;

5.C#调用JavaScript方法

通过WebBrowser类的Document属性中的InvokeScript方法调用当前网页的Javascript方法。如:

//调用JavaScript的messageBox方法,并传入参数

object[]objects=newobject[1];

objects[0]="C#访问JavaScript脚本";

webBrowser1.Document.InvokeScript("messageBox",objects);

完整代码如下:

[System.Runtime.InteropServices.ComVisibleAttribute(true)]

publicpartialclassForm1:Form

{

publicForm1()

{

InitializeComponent();

System.IO.FileInfofile=newSystem.IO.FileInfo("index.htm");

//WebBrowser控件显示的网页路径

webBrowser1.Url=newUri(file.FullName);

//将当前类设置为可由脚本访问

webBrowser1.ObjectForScripting=this;

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

//调用JavaScript的messageBox方法,并传入参数

object[]objects=newobject[1];

objects[0]="C#访问JavaScript脚本";

webBrowser1.Document.InvokeScript("messageBox",objects);

}

//提供给JavaScript调用的方法

publicvoidMyMessageBox(stringmessage)

{

MessageBox.Show(message);

}

}

Dnew.cn注:原文:http://www.cnblogs.com/xds/archive/2007/03/02/661838.html

【JavaScript与C# Windows应用程序交互方法】相关文章:

JavaScript中toString()方法的使用详解

JavaScript检测鼠标移动方向的方法

JavaScript中的blink()方法的使用

Javascript中For In语句用法实例

简述JavaScript中正则表达式的使用方法

Javascript中的getUTCHours()方法使用详解

介绍JavaScript中Math.abs()方法的使用

javascript中动态函数用法

JavaScript的Date()方法使用详解

JavaScript获得指定对象大小的方法

精品推荐
分类导航