代码之家  ›  专栏  ›  技术社区  ›  Shekhar

如何更改c_中的ProgressBar值?

  •  0
  • Shekhar  · 技术社区  · 16 年前

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

    在这种情况下,最佳实践是什么?保持UI逻辑和业务逻辑分离的好方法是什么?我想避免在我的库代码中编写与ProgressBar相关的代码。


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

    1 回复  |  直到 16 年前
        1
  •  3
  •   Dan Puzey    16 年前

    如果有一个类是您的“工人类”——您通过它调用单个函数的类——那么您可以创建一个 Progress 该类的属性。然后,随着操作的进行,更新该属性的值并抛出一个事件来指示它已更改。

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

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