WebBrowser提交submit后界面不刷新的解决办法
一个Form里有一个WebBrowser和一个Button,在Button_Click里执行
htmlDocument=WebBrowser.Document得到当前document
当htmlDocument中某个htmlElement.invokemember("click")后会使的页面变化
我想抓变化后的document,可是WebBrowser的Document没有更新
必须出了Button_Click函数之后才变
方法一:
private void button1_Click(object sender, EventArgs e) { // xxxxx.InvokeMember("Click"); Thread.Sleep(1000); Application.DoEvents(); //WebBrowser刷新了 }
方法二:
注意变量的定义范围。
protectedvoid Button_Click(object sender, EventArgs e)
{
ChangeDocument(htmlDocument);
// 此时,htmlDocument已经是变化后的对象
}
privatevoid ChangeDocument(ref WebBrowser.Document wdoc)
{
//htmlDocument=wdoc;
//wdoc.htmlElement.invokemember("MouseOver");
}
{
ChangeDocument(htmlDocument);
// 此时,htmlDocument已经是变化后的对象
}
privatevoid ChangeDocument(ref WebBrowser.Document wdoc)
{
//htmlDocument=wdoc;
//wdoc.htmlElement.invokemember("MouseOver");
}
不用ref也可以。