我的C# winform 程序有一个webbrowser控件,它的显示的内容是我从数据库取出数据赋值给它的,有些数据比较多,要一定的时间,这时候,程序会像死机一样,我想在这个时候,显示一个会动的gif图片,等到webbrowser的内容显示出来的时候,在把gif图片隐藏,webbrowser的内容是自己赋值的!没有url,readstate也没用了,我用线程来实现,但是我不会线程,弄了一个晚上还没弄出来,请问这么实现啊?谢谢 !

解决方案 »

  1.   

    string sHtml="";//全局变量 保存HTML
    bool isReadOK = false;
    void readHtml(){
        pictureBoxGIF.Visible = true;//显示的动画图片
        timer1.Start();
    //取出HTML 逻辑自己写
        sHtml = "读取的HTML";
        isReadOK = true;
        timer1.Stop();}        private void timer1_Tick(object sender, EventArgs e)
            {            if(isReadOK ){
                    pictureBoxGIF.Visible = false;//显示的动画图片
                    webBrowser1.Document.OpenNew();
                    webBrowser1.Document.Write(sHtml);
                    timer1.Stop();            }
            }        private void button2_Click(object sender, EventArgs e)
            {            Thread th1 = new Thread(new ThreadStart(readHtml));
                th1.Start();
            }
      

  2.   


            string sHtml = "wgscd";
            bool isReadOK = false;
            void readHtml()
            {
                //取出HTML 逻辑自己写
                sHtml = "读取的HTML";
                isReadOK = true;
            }        private void timer1_Tick(object sender, EventArgs e)
            {            this.Text = isReadOK.ToString();
                if (isReadOK)
                {
                    timer1.Stop();
                    pictureBoxGIF.Visible = true;//显示的动画图片
                    webBrowser1.Navigate("about:blank");
                     webBrowser1.Document.OpenNew(true);
                     webBrowser1.Document.Write(sHtml);
                                }
            }        private void button2_Click(object sender, EventArgs e)
            {
                Thread th1 = new Thread(new ThreadStart(readHtml));
                timer1.Start();
               pictureBoxGIF.Visible = true;//显示的动画图片
               th1.Start();
            }
    已经测试