我设计了一个抓取网页的程序,由于分析字符串速度很慢,我都不知道是在运行还是死机了。
所以想加一个显示正在运行的状态提示,请高手指点下。
我的FORM上有一个LABEL控件和TEXTBOX控件,我在运行过程中给LEBEL和TEXTBOX赋值,希望提示运行的位置。
结果不行哦,LEABL和TEXTBOX运行过程中不显示,一直到运行结束才显示。
不知道怎么回事,希望高手指点下!

解决方案 »

  1.   

    不用多线程 也行,就在你分析字符串之前,在lable上写上'开始处理',处理完了,在改回去
      

  2.   

    多线程,涉及到跨线程调用!!要定义个委托给你的控件进行传值,不要再新new的线程里面直接给控件赋值那会报错,不知道我这么说你明白不
      

  3.   

     this.lbMsg.Text = "正在尝试从指定网址下载数据...";
                this.txtItems.Text = "";            this.txtHtml.Text = GetWebContent1(txtUrl.Text.Trim());
                //timer1.Enabled = false;
                this.lbMsg.Text = "抓取成功!";
                txtHtml.Text = CatchGpDm(txtHtml.Text);
     this.txtHtml.Text = GetWebContent1(txtUrl.Text.Trim());这个 过程执行的很耗时,但是this.lbMsg.Text = "正在尝试从指定网址下载数据...";
    这个控件却不显示,不知道为什么?
      

  4.   

    Application.DoEvents()操作
    通过线程操作