Я использую .NET visual C # 2008, и в своем веб-браузере я добавил обработчик событий щелчка, чтобы зафиксировать, какое имя HTML-тега я щелкнул.
Но потом я потерял контроль над веб-браузером.
Когда я запускаю приложение, в веб-браузере я не могу ввести текст в текстовое поле в браузере. Он по-прежнему принимает щелчки мыши по ссылкам.
Я нашел несколько людей, имеющих эту проблему на форумах, но решение не найдено.
Что я делаю не так?
код
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;
}
}
}