我有一个 3 层的 vb windows 应用程序,在 ui 中有一个进度条。是否有一个示例说明如何在业务层中调用方法并更新 ui 中的进度条。我如何引用它?
例如,如果我做 businesslayer.domethod()
然后在 businesslayer 中我不能做 ui.progressbar.update 因为它不知道它存在于不同的程序集中。
“三层Windows应用程序”是什么意思?这些层在物理上是独立的吗?你是如何实现层间通信的?通过您的示例“busineslayer.dosomething()”,您的所有层似乎都在同一台机器上,并且您没有使用任何远程处理技术。如果您的层只是同一台机器和进程中的逻辑层,那么您可以采用两种方法:
1)您可以将回调委托传递给您的 busineslayer.domethod() 方法,以便它可以回调 UI 以通知进度,或者
2)您的 busineslayer 类可以实现一些事件。让您的 UI 订阅您的事件以获取更新。
我将实施第二种方法。