程序是这样的,在winForm里拖了一个webBrowser 如图,一大片空白:
然后这个winForm界面的代码:
1.注意这个类的头部必须加上以下代码:
[System.Runtime.InteropServices.ComVisible(true)] 在被调用方法类上加上[ComVisible(true)]标签,意思就是当前类可以com组件的形式供外包调用
2.然后是这个类的方法代码:
#region winForm与js交互 提供js调用方法
public void xmpf(string name, string value, bool trueOrfalse)
{
messageBox.Show(name);
}
#endregion
3.在类的构造函数里加载页面代码:
public AddOrderForm()
{
InitializeComponent();
string pathName = Application.StartupPath + "\\" + "HTMLPage1.htm";
this.webBrowser1.ObjectForScripting = this;
webBrowser1.Navigate(pathName);
}
4.html页面代码:
<script language="javascript" type="text/javascript">
function Radio1_onclick(obj) {
//js调用winform方法
window.external.xmpf(obj.name,obj.value, obj.checked);
}
</script>
<input id="Radio1" name="R1" type="radio" value="100" οnclick="return Radio1_onclick(this)" /> --单选框
5.运行项目,点击单选框按钮,会弹出c# winform里的 提示框,就是会调用xmpf这个方法。