初学,呵呵,问个问题,我用webBrowser打开一个网页对里面的元素进行操作,因为网页内容很多,我就想让程序读到页面时候停几秒再运行后面的程序,我的代码是:
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (e.Url.ToString() == "http://XXX")
            {
                    System.Threading.Timer myTime = new System.Threading.Timer(new TimerCallback(Edit), null, 3000, 0);
            }
        }private void Edit(object obj)
{
StreamReader getReader = new StreamReader(webBrowser1.DocumentStream, Encoding.GetEncoding(webBrowser1.Document.Encoding));
            string s = getReader.ReadToEnd();
//在执行到上面的语句时候,会报错,说指定的转换无效
}
应该怎么办好?我如果去掉3秒等待,直接执行Edit是可以的。

解决方案 »

  1.   


    Timer timer1 = new System.Windows.Forms.Timer(this.components);
    this.timer1.Interval = 3000;
    this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
            private void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                if (browser.ReadyState == WebBrowserReadyState.Complete)
                    timer1.Enabled=true;
            }        private void timer1_Tick(object sender, EventArgs e)
            {
                timer1.Enabled = false;
                Edit();
            }