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

2016-02-19 20:06 108 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的WebBrowser中html元素如何触发winform事件,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - Web开发 】

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

  C#代码如下:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

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("www.google.cn");
      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");
    }
  
  }
}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1622760.html

延伸阅读
标签: Web开发
pb定义事件/b p要在 HTC 中定义一个事件,我们需要用到 PUBLIC:EVENT 元素。当我们定义了一个事件后,我们就可以在 HTC 的所在页中来调用它。 p在下面的例子中来示范如何实现一个计算器的功能。在 HTC 中我们使用 EVENT 元素定义了一个 onResultChange 事件。当在所在页中激活 onResultChange 事件时,HTC 将计算出结果并返回...
标签: Web开发
使用asp.net,在刷新页面的时候会自动触发服务器端的事件。举个简单的例子,如:一个注册页面,我们填写完注册信息之后,如果按F5刷新之后,会自动触发到Button事件上,这样就造成了又注册了一次的麻烦。 我先前的解决方案:用关键字查询,如有相同,则提示已有此用户。 但是这种方案不能在没有表识的情况下使用,他会重新提交。鉴于此,我寻...
标签: 暗黑3
《暗黑3》全随机事件触发地点合集 碉堡了!《英雄联盟》联赛将支持局域网 在玩家们心里念着《暗黑3》、《星际2》能出局域网版本的时候。《英雄联盟》率先发难,由其幕后开发商Riot Games官方证实,Riot Games的CEOBrandon Beck近日表示,《英雄联盟》将会支持局域网的联赛。 英雄联盟 《英雄联盟》已经成为全世界最受关注游戏,围...
问题的产生: 我的WinForm程序中有一个用于更新主窗口的工作线程(worker thread),但文档中却提示我不能在多线程中调用这个form(为什么?),而事实上我在调用时程序常常会崩掉。请问如何从多线程中调用form中的方法呢? 解答: 每一个从Control类中派生出来的WinForm类(包括Control类)都是依靠底层Windows消息和一个...
ListBox组件是一个程序设计中经常使用到的组件,在Visual C#和Visual Basic .Net程序中使用这个组件,必须要在程序中导入.Net FrameWork SDK中名称空间System.Windows.Forms,因为在System.Windows.Forms名称空间中定义了这个组件。在ASP.NET的Web页面中,ListBox组件是作为一个服务器端组件的形式出现的,所谓服务器端组件就是这些组件是...

经验教程

279

收藏

53
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部