ProgressBar如何显示时间进度?

dvdvip 2009-05-10 11:15:54
ProgressBar如何显示时间进度?例如,有两个ProgressBar,它们是相互独立的,没有联系。只是放在同一个窗体里。

用户在TextBoxStart里,输入起始时刻,在TextBoxEnd里,输入结束时刻。ProgressBar1就显示这个时间的进度,就是从起始时刻到结束时刻。


另外,用户在TextBoxQuantum里,输入一个时间段。ProgressBar2就显示倒数的时间进度,就是一个倒数的定时器。它的进度最好是从右到左的,因为是倒数。


请问,这个用C#如何实现?谢谢!




是不是很难?又要计算时间差,又要控制ProgressBar
...全文
287 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-05-10
  • 打赏
  • 举报
回复
dxd0222 2009-05-10
  • 打赏
  • 举报
回复
我写一下,你看看行不。
ProgressBar1.Value = 0;
ProgressBar1.Maximum = DateTime.Parse(TextBoxEnd.Text) - DateTime.parse(TextBoxStart.Text);
//不清楚你控制进度的时间间隔(秒?分钟?小时?)将差值转换成你的timer的中断间隔。
timer1.Start(); //设置结束启动timer
//在time的tick事件中写上ProgressBar1.Value ++;大致类似下面
private void timer1_Tick(object sender, EventArgs e)
{
ProgressBar1.Value ++;
this.progressBar1.Update();
}

第二个就简单一点了。
ProgressBar2.Maximum = int.Parse(TextBoxQuantum.Text);
ProgressBar2.Value = ProgressBar2.Maximum;
timer2.Start();
//tick事件中对ProgressBar2.Value做减法就行。
private void timer2_Tick(object sender, EventArgs e)
{
ProgressBar2.Value --;
this.progressBar1.Update();
}
assky124 2009-05-10
  • 打赏
  • 举报
回复
一点都不难。
添加一个按钮,一个Timer控件。
按钮启动Timer,并计算时间差 totalsec;在Timer的Trig事件中判断起始时间。
达到起始时间后
一个ProgressBar的Value ++(初始Value为0),另个--(初始Value为totalsec);
dvdvip 2009-05-10
  • 打赏
  • 举报
回复
时间如何相加减?

还有,如何保证,用户在TextBox里输入的是正确的时间格式?

如果用户输入不正确的,或任意的字符,程序就会出错了。
xiangbupingfan 2009-05-10
  • 打赏
  • 举报
回复
学习
Gavinsky_feifei 2009-05-10
  • 打赏
  • 举报
回复
保证输入是时间格式的可以用正则,不知道lZ是否知道ProgressBar的基本用法,你想一秒加一次还是一分钟加一次,还可以设置一个固定长度,用百分比去让ProgressBar移动,建议LZ先看下ProgressBar的基本用法.

110,534

社区成员

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

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

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