您的位置:首页 > Web前端 > HTML

C#: 通过html调用WinForm 。。。。。

2010-03-31 12:40 337 查看
完整测试代码:
Form1.cs

代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<script language="javascript" type="text/javascript">
function messageBox(message)
{
alert(message);
}
</script>
</head>
<body>

<button onclick="window.external.MyMessageBox('javascript访问C#代码')">javascript访问C#代码</button>
<a href="javascript:window.external.MyMessageBox1()">javascript访问C#代码</a>
<a href="javascript:window.external.ShowForm()">javascript访问C#代码</a>
</body>
</html>

补充:

webBrowser1.ObjectForScripting = this;
这句话的意思是webBrowser1的脚本执行的Com绑定的方法是 从Form1 来的,

而MyMessageBox1和ShowForm
却是在WinOperationClass

类里面的,肯定是不行的
第一个可以是因为form1里面有MyMessageBox这个方法
你吧MyMessageBox1和ShowForm移动到form1中或者把MyMessageBox移动到WinOperationClass里面,再把 webBrowser1.ObjectForScripting = this;这句改成
WinOperationClass w=new WinOperationClass();
webBrowser1.ObjectForScripting = w;
就可以了
推荐第二种……把所有的 Com可见的方法放在一个类里面好维护
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: