Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 从业务层windows应用程序更新进度条_Winforms_Delegates - Fatal编程技术网

Winforms 从业务层windows应用程序更新进度条

Winforms 从业务层windows应用程序更新进度条,winforms,delegates,Winforms,Delegates,我有一个3层的vb windows应用程序,在ui中有一个进度条。是否有一个示例说明如何在业务层调用方法并更新ui中的进度条。我如何引用它 例如,如果我执行businesslayer.domethod() 那么在businesslayer中,我不能执行ui.progressbar.update,因为它不知道它作为它在另一个程序集中存在。你说的“三层windows应用程序”是什么意思?层在物理上是独立的吗?您是如何实现层间通信的?通过您的示例“busineslayer.dosomething()”

我有一个3层的vb windows应用程序,在ui中有一个进度条。是否有一个示例说明如何在业务层调用方法并更新ui中的进度条。我如何引用它

例如,如果我执行businesslayer.domethod()

那么在businesslayer中,我不能执行ui.progressbar.update,因为它不知道它作为它在另一个程序集中存在。

你说的“三层windows应用程序”是什么意思?层在物理上是独立的吗?您是如何实现层间通信的?通过您的示例“busineslayer.dosomething()”,您的所有层似乎都在同一台机器中,并且您没有使用任何远程处理技术。如果您的层只是同一台机器和进程中的逻辑层,那么您可以采取两种方法:

1) 您可以将回调委托传递给busineslayer.domethod()方法,以便它可以回调UI以通知进度,或者

2) businesslayer类可以实现一些事件。使您的UI订阅事件以获得更新

我将实施secund方法