在.net2.0下,用WebBrowser控件可以实现以下功能:WinForm:    [System.Runtime.InteropServices.ComVisibleAttribute(true)] 
    public partial class MessageTest : Form
    {
        public MessageTest()
        {
            InitializeComponent();            System.IO.FileInfo file = new System.IO.FileInfo("Test.html");
            this.webBrowser1.Url = new Uri(file.FullName);
            this.webBrowser1.ObjectForScripting = this;
        }        public void MyMessageBox(string message)
        {
            MessageBox.Show(message);
        }
    }WebForm(Test.html):<script language="javascript">
function messageBox(message)
{
    alert(message);
}function aa(message)
{
    window.external.MyMessageBox(message);
}
</script>
<input type="button" id="Test" name="Test" value="JS调用C#代码" height="32" onclick="aa('JS调用C#代码')">点击Test.html中的按钮即可触发WinForm的事件在AxWebBrowser控件如何才能实现这个功能呢?
分不够再加!

解决方案 »

  1.   

    路过,学习之中,一个二个都在up ,唉,也只能up 一下了
      

  2.   

    icefeiji(咖啡色的猪):此话怎讲?
      

  3.   

    http://www.codeproject.com/cs/miscctrl/csEXWB.asp
      

  4.   

    messagebox.show();这个东西是会中断程序执行的,而服务器端的执行是不可中断的,如果你第一次用成功了,那说明你用的地方是在服务器执行之前,第二此失败,说明用在了服务器程序执行之中了,当然是不可以的。
    web中为什么messagebox这个东西就是这个原因了。
      

  5.   

    继续关注中
    楼主是意思是用AxWebBrowser控件实现 触发WinForm的事件的功能吧
      

  6.   

    正在找这个问题的解决,在网上搜到了一个解决办法,看网址 http://www.thexin.com/article.asp?id=236 (net 2.0下利用动态Assembly与Reflect机制向DHTML暴露.net应用里的对象与)。但是我还没有测试过。
      

  7.   

    这个你是想要winform 在你点击超链接的时候发出事件么 ?
      

  8.   

    在BeforeNavigate2事件中写代码:
    if (e.uRL.ToString().IndexOf("XXX") > 0)
    {
      MessageBox.Show(message); 
    }参数通过页面QueryString传参。