如何在C#中更改进度条的值?

时间:2010-03-19 12:01:53

标签: c#-3.0 progress-bar

我想在我的基于C#的应用程序中添加进度条。我想知道在特定事件中更新其价值的好方法是什么?    我的问题是,我在UI中有单个功能,它完成所有处理。这个函数依次调用更多函数,创建对象,更新数据库等(基本上执行所有工作)并在输出文件中返回值。我只能访问该功能。那么在这里如何在每一步结束时更新进度条的值?

这种情况的最佳做法是什么?保持UI逻辑和业务逻辑分离的好方法是什么?我想避免在我的库代码中写入与进度条相关的代码。


请提出一些解决方案。 谢谢和问候,

1 个答案:

答案 0 :(得分:3)

如果你有一个类是你的“工人类” - 你称之为单个函数的类 - 那么你可以在该类上创建一个Progress属性。然后,随着操作的进行,更新该属性的值并抛出一个事件以指示它已被更改。

您可以定义特定的ProgressChanged事件,或者,如果您正在使用数据绑定,请使用INotifyPropertyChanged接口。

然后在您的UI中:使用数据绑定,或者专门侦听该事件并相应地更新进度条。