在MyClass的构造函数中,动态创建一个WebBrowser,并指定OnDocumentComplete事件处理函数public MyClass
{
public bool IsFinished;
.... public MyClass{
_WebBrowser = new WebBrowser();
_WebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(this.OnComplete);
} public Navigate()
{
_WebBrowser.Navigate("www.sina.com.cn");
} public void OnComplete(object sender, WebBrowserDocumentCompletedEventArgs e)
{
IsFinished = true;
}
}
上面的MyClass保存在单独的cs文件中。
主界面上,通过Button的Click来调用。
MyClass cls = new MyClass();
cls.Navigate();while(!cls.IsFinished) //这里
{
Thread.Sleep(1000);
}MessageBox.Show("Has Finished");
现在的问题是:
跟踪调试,如果while(cls.IsFinish)及以下注释掉,Navigate完毕以后,OnComplete事件执行;如果不注释,跟踪不到OnComplete事件。请问这是为什么?如何解决?谢谢!
{
public bool IsFinished;
.... public MyClass{
_WebBrowser = new WebBrowser();
_WebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(this.OnComplete);
} public Navigate()
{
_WebBrowser.Navigate("www.sina.com.cn");
} public void OnComplete(object sender, WebBrowserDocumentCompletedEventArgs e)
{
IsFinished = true;
}
}
上面的MyClass保存在单独的cs文件中。
主界面上,通过Button的Click来调用。
MyClass cls = new MyClass();
cls.Navigate();while(!cls.IsFinished) //这里
{
Thread.Sleep(1000);
}MessageBox.Show("Has Finished");
现在的问题是:
跟踪调试,如果while(cls.IsFinish)及以下注释掉,Navigate完毕以后,OnComplete事件执行;如果不注释,跟踪不到OnComplete事件。请问这是为什么?如何解决?谢谢!
解决方案 »
- 动软.Net代码生成器 在WINDOWS 7下面无法使用如何解决
- 从元数据
- c# 如何吧png24的图片转换成png8呢??? 50分求助
- 问一个关于删除Dataset记录的问题
- 请问在将一个自定义对象绑定到DataGridView时,如果控制DataGridView中属性列的显示顺序?
- 需要在安装程序执行完成后,自动把程序运行起来,如何实现?
- win2k、xp 里怎么样才能屏蔽 alt+tab,ctrl+esc,windows,ctrl+alt+del键?????
- 【求助】毕业设计用vs的c#窗体写的,一点头绪都没了!求大神指点
- 代码看不懂了
- c#如何读取ini文件
- 谁知道“Unassigned Code”如何解决?
- 帮我写点小程序,分都给大家了.求你们了!!!
,包括消息处理等。不是适合在主窗口线程内使用;
可以不用 DocumentCompleted 代码如下?
wb = new WebBrowser();
wb.ScriptErrorsSuppressed = true;
wb.Navigate("www.sina.com.cn");while (wb.ReadyState != WebBrowserReadyState.Complete)
{
System.Windows.Forms.Application.DoEvents();
}//....加载完成写你的代码
{
Application.DoEvents();
Thread.Sleep(5);
}