五维思考

学习要加,骄傲要减,机会要乘,懒惰要除。 http://www.5dthink.cn

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一、C#调用JS函数

1.JS代码

< script language = "javascript" >
function Hello(msg)
{
    alert('我是JS函数,参数是:' + msg);
    return;
}
< / script >

2.C#代码调用

public class Form1:Form
{
	public Form1()
	{
		InitializeComponent();

		string pathName = Application.StartupPath + "\\" + "HTMLPage1.htm";
		this.webBrowser1.ObjectForScripting = this;
		webBrowser1.Navigate(pathName);
	}
	
	public void Test()
	{
	  //调用的函数:
	  webBrowser1.Document.InvokeScript("Hello", new string[] {"ssss"});
	}
}

二、JS调用C#函数

1.C#函数

using System.Security.Permissions;

//注意: 类定义前需要加上下面两行,否则调用失败!当前类可以com组件的形式供外部调用
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[System.Runtime.InteropServices.ComVisible(true)]
public class Form1: Form
{
	public Form1()
	{
		InitializeComponent();
	}

	public void ShowMessage(string msg)
	{
		MessageBox.Show("我是Winform函数,参数是:" + msg);
	}
}

2.JS里的调用

< script language = "javascript" >
function InvokeFunc()
{
    window.external.ShowMessage("呵呵");
}
< /script >
posted on 2020-05-24 14:57  五维思考  阅读(1682)  评论(0编辑  收藏  举报

QQ群:1. 全栈码农【346906288】2. VBA/VSTO【2660245】