ProgressBar应用

dfcj1010 2010-12-07 10:26:06
在一个窗体中写了个循环,另一个窗体中放了个ProgressBar,希望根据循环的数据让ProgressBar显示进度,附加一个label文字提示
...全文
168 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
happyday1799 2010-12-07
  • 打赏
  • 举报
回复
窗体间的传值问题
可以在有ProgressBar的窗体中,写一个属性,如:

public int ProgressBarValue
{
set
{
progressBar1.Value = value;
}
}

在写有循环的窗体内:

Form2 form = new Form2();
form.Show();
for (int i = 0; i <= 100; i++)
{
form.ProgressBarValue = i;
System.Threading.Thread.Sleep(100);
}
xpcxpy 2010-12-07
  • 打赏
  • 举报
回复
这就是窗体间传值的问题 你找找 有一堆解决方案
周公 2010-12-07
  • 打赏
  • 举报
回复
.net 2.0 BackgroundWorker类详细用法
在WinForm中经常遇到一些费时的操作界面,比如统计某个磁盘分区的文件夹或者文件数目,如果分区很大或者文件过多的话,处理不好就会造成“假死”的情况,或者报“线程间操作无效”的异常,为了解决这个问题,可以使用委托来处理,在.net2.0中还可以用BackgroundWorker类。BackgroundWorker类是.net 2.0里新增加的一个类,对于需要长时间操作而不需要用户长时间等待的情况可以使用这个类。 注意确保在 DoWork 事件处理程序中不操作任何用户界面对象。而应该通过 ProgressChanged 和 RunWorkerCompleted 事件与用户界面进行通信。

效果如下:
abrianna 2010-12-07
  • 打赏
  • 举报
回复
1.窗体间的通讯一般是封装方法或通过获得对方的窗体引用实现
2.ProgressBar的更新一般是ui,数据部分是线程。

111,125

社区成员

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

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

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