关于使用ProgressBar的问题

hcfyxy 2003-11-06 04:14:13
我有一个数据库查询的过程,耗费的时间往往很长,于是我搭配一个ProgressBar来显示进度,我没有用多线程,一直没有搞定,求解!

以下为相关代码:

static bool flagExit = false;
private void button1_Click(object sender, System.EventArgs e)
{
timer1.Enabled = true;
timer1.Start ();

…… …… ……
数据库查询
…… …… ……

flagExit = true;

timer1.Stop ();
timer1.Enabled = false;
}
//timer_tick
private void timer1_Tick(object sender, System.EventArgs e)
{
progressBar1.Step = 1;
if( flagExit && progressBar1.Value < 100 )
progressBar1.PerformStep ();
}
else
{
timer1.Stop ();
timer1.Enabled = false;
flagExit = false;
}
}
...全文
22 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hcfyxy 2003-11-10
  • 打赏
  • 举报
回复
谢谢楼上的,但是不行
好像只能用多线程……
Jem 2003-11-06
  • 打赏
  • 举报
回复
试试看这样:
private void button1_Click(object sender, System.EventArgs e)
{
progressBar1.Step = 1;
timer1.Start ();
Application.DoEvents();
…… …… ……
数据库查询
…… …… ……
timer1.Stop ();
}
//timer_tick
private void timer1_Tick(object sender, System.EventArgs e)
{
if(progressBar1.Value < 100 )
{
progressBar1.PerformStep ();
progressBar1.Refresh();
}
else
{
timer1.Stop ();
}
}
kuangsha007 2003-11-06
  • 打赏
  • 举报
回复
多线程,,,,
ProcessBar里面的进度条做个假的。。。。。。。。。
hcfyxy 2003-11-06
  • 打赏
  • 举报
回复
timer控件自己不是一个线程吗?
orangeam 2003-11-06
  • 打赏
  • 举报
回复
拜托用一下多线程萨~~~

110,534

社区成员

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

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

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