繁体   English   中英

为什么添加点击事件处理程序时会失去网络浏览器控件?

[英]Why lose webbrowser control when adding click event handler?

我正在使用.NET visual C#2008,并且在我的Web浏览器中,我添加了click事件处理程序以捕获单击的HTML标记名称。

但是后来我失去了对Web浏览器的控制。

启动应用程序时,在Web浏览器中,无法在浏览器的文本字段中输入文本。 虽然它仍然接受鼠标单击链接。

我发现很少有人在论坛中遇到此问题,但未找到解决方案。 我究竟做错了什么?

代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

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


        private mshtml.HTMLDocument doc = null;



        private void Form1_Load_1(object sender, EventArgs e)
        {

            txtRecord.Items.Add("start...");
            txtRecord.Items.Add("start2...");
            webBrowser1.Navigate("http://www.google.com");
        }


        private void webBrowser1_DocumentComplete(object sender, WebBrowserDocumentCompletedEventArgs e)
        {

            txtRecord.Items.Add(e.Url.ToString() + " loaded...");

            if (doc == null)
            {
                doc = (mshtml.HTMLDocument)webBrowser1.Document.DomDocument;
                mshtml.HTMLDocumentEvents2_Event iEvent;
                iEvent = (mshtml.HTMLDocumentEvents2_Event)doc;
                iEvent.onclick += new mshtml.HTMLDocumentEvents2_onclickEventHandler(ClickEventHandler);

            }

        }

        private bool ClickEventHandler(mshtml.IHTMLEventObj e)
        {
            txtRecord.Items.Add("clicked ==>" + e.srcElement.tagName);
            txtRecord.Items.Add("clicked2 ==>" + e.srcElement.getAttribute("name", 0));

            txtRecord.Items.Add("clicked3 ==>" + e.srcElement.innerHTML);

            return true;
        }


    }
}

它是一个与框架相关的问题,它将不适用于框架3.5。 将项目框架更改为4.5.2,它将起作用。

我在您的代码中看不到文本字段? 您是说Google搜索框吗?

这是我能够使用您提供的代码复制的屏幕截图。 我能够搜索stackoverflow并浏览到它。 我会仔细检查您的事件处理程序是否仍正确连接。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM