时间:2021-05-26
一、建立网页
<html>
<head>
<metahttp-equiv="Content-Language"content="zh-cn">
<scriptlanguage="javascript"type="text/javascript">
<!--提供给C#程序调用的方法-->
functionmessageBox(message)
{
alert(message);
}
</script>
</head>
<body>
<!--调用C#方法-->
<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:///xds/archive/2007/03/02/661838.html
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#使用windows服务开启应用程序的方法。分享给大家供大家参考。具体如下:使用windows服务开启应用程序,会遇到如下问题1.使用windo
首先,来说一下对话框:对话框在Windows应用程序中使用非常普遍,许多应用程序的设定,与用户交互需要通过对话框来进行,因此对话框是Windows应用程序中最重
最近有朋友让我给他弄个应用程序全屏的功能,例如银行的取号程序界面。所以我从网上查询了一些实现的方法。C#应用程序中如何实现全屏幕显示功能?效果就像windows
手把手教你用C#开发Android应用程序的方法和流程摘要:用C#能开发RFID-android吗?C#真的能开发android程序吗?C#开发android程
功能需求:在框架中使用ImageButton控件关闭应用程序问询“是否确认退出”,用ImageButton的OnClick事件(C#)中调用JavaScript