WebBrowser中html元素如何触发winform事件

这个问题来自论坛提问,对dom稍微了解的话还是比较简单的,只要注册一下事件就可以了。

C#代码如下:

using System;
using System.ComponentModel;
using System.Windows.Forms;

namespace WindowsApplication5
...{
  public partial class Form1 : Form
  ...{
    public Form1()
    ...{
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    ...{
      this.webBrowser1.Navigate("");
      this.webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
    }

    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    ...{
      if (e.Url.ToString() != this.webBrowser1.Url.ToString()) return;
      foreach(System.Windows.Forms.HtmlElement el in this.webBrowser1.Document.GetElementsByTagName("input"))
      ...{
        if (el.Name == "btnG")
        ...{
          el.Click += new HtmlElementEventHandler(Form1_Click);
        }
      }

    }

    void Form1_Click(object sender, HtmlElementEventArgs e)
    ...{
      MessageBox.Show("jinjazz pass");
    }

  }
}

posted @ 2015-09-05 11:54  armyfai  阅读(476)  评论(0编辑  收藏  举报