请问这个功能怎么实现?使用线程吗?

benbenRH 2009-10-27 10:34:25
我的C# winform 程序有一个webbrowser控件,它的显示的内容是我从数据库取出数据赋值给它的,有些数据比较多,要一定的时间,这时候,程序会像死机一样,我想在这个时候,显示一个会动的gif图片,等到webbrowser的内容显示出来的时候,在把gif图片隐藏,webbrowser的内容是自己赋值的!没有url,readstate也没用了,我用线程来实现,但是我不会线程,弄了一个晚上还没弄出来,请问这么实现啊?谢谢 !
...全文
58 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
benbenRH 2009-11-01
  • 打赏
  • 举报
回复
谢谢 wgsnet
APP开发王 2009-10-27
  • 打赏
  • 举报
回复

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();
}


已经测试
APP开发王 2009-10-27
  • 打赏
  • 举报
回复


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();


}



110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧