可以随意指定一个LABEL中,实现进度显示, 进度条是“。”表示,我写了一个用TIMER控制的,进度开始,执行目标,进度终止,但时间不均匀,感觉要等到目标执行完毕才开始显示进度,并且一下到底,几乎看不到“。”不断增加的过程,请高手指路
解决方案 »
- 怎么“实体类”不用加“DataContract”、“DataMember”
- 用线程 报内存不足会是什么情况?
- 如何获取 ImageList中图片的地址?
- 新编顺口溜:新浪爱问百度,百度知道答案在知识库藏着
- 如何用c#实现网页留言板的制作。
- vc#中怎样在菜单中打开帮助文件?
- 取扩展名对于的应用程序列表
- 我用listview读取数据时怎样改变显示编码!
- SQL问题! 谢谢!!
- mfc,.net,vcl,j2xe,这些平台都用过,有需要考虑内存的有不需要考虑内存,那,内存的管理到底是不是程序员该考虑的呢。。。。。???
- C# winform开发dataGridView+Update方法求助
- 到时间自动删除数据库符合条件的数据,高手来
也别用timer来控制了,因为你也不知道过程需要多久。还是在进度中控制吧在label中先processbarinit(),在进度中,不断的调用processbarstep()
http://www.hbjjrb.com/Jishu/C/200905/165862.html
当然你可以不用进度条控件,直接修改label的text就OK了
每次改变进度条的大小,都要调用Application.DoEvent();
的好吧。
我使用timer完成的。
我不是连续的“。”来表述的,你这样显示不太好确定任务的进度,另外你说一下到底,说明你任务太重,
阻止了Timer的运行,建议你用Thread吧。
我是这样显示:
“。”
“。。”
“”
“。”
“。。”
“”
然后在重复这个过程
“。”
“。。”
“”
“。”
“。。”
“”
//想要显示的额外信息
var preDefineMessage = "Working";
//用来显示进度的Label
var percentLabel = new Label();
//百分比,按0~10划分
var percent = 0;
//Timer
var timer = new Timer();
timer.Tick += delegate
{
percentLabel.Text = preDefineMessage.PadRight(preDefineMessage.Length+(++percent),'.');
if(percent % 10 == 0)
{
percent = 0;
}
};
timer.Start();