首页  编辑  

C# 中如何在WebBrowser中调用到C#窗体中的代码

Tags: /C#/   Date Created:
C# 中,如何在WebBrowser和窗体之间进行交互?

C#中webbrowser与javascript(js)交互的方法


在WebBrowser网页中,调用C# 窗体中的代码。
首先,要打开解决方案资源管理器,在项目上单击鼠标右键,选择属性打开项目属性设置。在应用程序选项卡中点击程序集信息,然后勾选“使程序集COM可见”。
当然,也可以在窗体class定义前面添加一行代码:
  [System.Runtime.InteropServices.ComVisibleAttribute(true)]
其次,要在窗体启动的时候初始化WebBrowser控件,设置控件的脚本COM对象为窗体本身:
webBrowser1.ObjectForScripting = this;     
之后,就可以在窗体中写上需要被调用的代码了,例如写上一个函数试试:
public void test(string url)  // C# 窗体中的代码
{
           MessageBox.Show(url);
}
在网页中,就可以用 window.external.test(src);  来调用了。


  • C#调用js函数的方法:
首先在网页js中定义被c#调用的方法:
function  Messageaa(message)
{
      alert(message);
}

在c#调用js方法Messageaa
private void button1_Click(object sender, EventArgs e)
{
    // 调用JavaScript的messageBox方法,并传入参数
    object[] objects = new object[1];
    objects[0] = "c#diao javascript";
    webBrowser1.Document.InvokeScript("Messageaa", objects);
}