c# – Web浏览器控件:如何捕获文档事件?
发布时间:2020-12-15 04:20:01 所属栏目:百科 来源:网络整理
导读:我正在使用 WPF的WebBrowser控件来加载一个简单的网页.在这个页面上,我有一个锚点或按钮.我想捕获应用程序代码中的该按钮的点击事件(即在C#中). WebBrowser控件是否有一种方法来捕获加载的页面元素上的点击事件? 另外,是否可以在页面和WebBrowser之间传送事
我正在使用
WPF的WebBrowser控件来加载一个简单的网页.在这个页面上,我有一个锚点或按钮.我想捕获应用程序代码中的该按钮的点击事件(即在C#中).
WebBrowser控件是否有一种方法来捕获加载的页面元素上的点击事件? 另外,是否可以在页面和WebBrowser之间传送事件触发的数据?所有上述都应该是可能的我是对的吗? >编辑:可能的解决方案: 我发现以下链接可能是一个解决方案.我还没有测试过,但值得一试.将根据我的测试结果更新此问题. http://support.microsoft.com/kb/312777 >链接取自:Source 解决方法
确定答案发现 – 测试,它的工作原理:
>从名为“Microsoft HTML对象库”的COM选项卡添加引用 以下是一个示例代码: 您将需要两个组件:WebBrowser(webBrowser1)和一个TextBox(textBox1) public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); webBrowser1.LoadCompleted += new LoadCompletedEventHandler(webBrowser1_LoadCompleted); } private void webBrowser1_LoadCompleted(object sender,NavigationEventArgs e) { mshtml.HTMLDocument doc; doc = (mshtml.HTMLDocument)webBrowser1.Document; mshtml.HTMLDocumentEvents2_Event iEvent; iEvent = (mshtml.HTMLDocumentEvents2_Event)doc; iEvent.onclick += new mshtml.HTMLDocumentEvents2_onclickEventHandler(ClickEventHandler); } private bool ClickEventHandler(mshtml.IHTMLEventObj e) { textBox1.Text = "Item Clicked"; return true; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |