c# 焦点移到webbrowser里的一个input控件 回不来了
我弄了一个winform程序,添加了webbrowser控件,打开网页,获取某个input。执行完下面两句后鼠标不动了,我知道是焦点进控件里了,怎么找回来啊?HtmlEl...
我弄了一个winform程序,添加了webbrowser控件,打开网页,获取某个input。执行完下面两句后鼠标不动了,我知道是焦点进控件里了,怎么找回来啊?
HtmlElement.focus(); SendKeys.SendWait("{ENTER}"); 展开
HtmlElement.focus(); SendKeys.SendWait("{ENTER}"); 展开
1个回答
展开全部
假设webbrowser控件名为webbrowser1,textbox控件名为textbox1
textbox1.text=webbrowser1.document.all.ip1.value; //ip1为input的id
或textbox1.text=webbrowser1.document.getelementbyid("ip1").value
或者
textbox1.text=webbrowser1.document.form1.ip1.value; //ip1为表单form1中某input的name
或者无name无id,那么就只有遍历input标签,然后根据要获取的input的特征,比如 value属性等等
textbox1.text=webbrowser1.document.all.ip1.value; //ip1为input的id
或textbox1.text=webbrowser1.document.getelementbyid("ip1").value
或者
textbox1.text=webbrowser1.document.form1.ip1.value; //ip1为表单form1中某input的name
或者无name无id,那么就只有遍历input标签,然后根据要获取的input的特征,比如 value属性等等
追问
感谢你的回答!
这种方法我知道 ,但是现在的需求是我要给webbrowser里的一个input赋值,赋值完成后要取得这个input标签的焦点,然后模拟按下回车触发一个事件,但是模拟之后鼠标焦点回不来了,请问怎么才能回来啊~
追答
webbrower是没有mousemove事件,除非你去重写,下面解决方法,看是否合适你?
通过一个timer控件来实时获取:
private void timer1_Tick(object sender, EventArgs e)
{
if (webBrowser1.Bounds.Contains(this.PointToClient(Cursor.Position)))
{
this.textBox1.Text = webBrowser1.PointToClient(Cursor.Position).ToString();
}
}
private void Form1_Load(object sender, EventArgs e)
{
timer1.Start();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询