【发布时间】:2011-11-23 10:53:30
【问题描述】:
我有一个 vb.net 应用程序,其中有一个主窗体。大约有 10 个类,每个类都有自己的功能,如 tcpactions、fileactions、串行端口操作等。用户与主窗体交互并执行某些操作,这些操作将调用这些类中的方法。现在我在主窗体中有一个通知文本区域,我想在这些类中显示当前正在执行的操作以及它们在通知区域中的结果。
例如,当用户单击表单中的“启动进程”按钮时,我会调用“ProcessActions”类中的“launchprocess”方法。现在此方法尝试启动大约 7 个不同的进程,并在启动后发送通知,例如“进程 1 启动”,如果失败,它会发送通知,例如“进程 1 启动失败”。
我目前使用事件处理程序并使用它们来显示通知,但是由于我必须处理的事件数量越来越多,因此我将来可能需要添加更多类。那么有没有更好的方法来处理来自其他类的通知。
【问题讨论】:
-
@Hans 您的评论似乎不太准确。我可以想到许多程序告诉用户它在做什么的例子。即:删除文件显示进入回收站的文件的图形,并显示当前正在删除的文件的名称。完成后它就消失了。对于用户正在与之交互的任何程序,必须以某种方式让他们知道它已完成当前过程。否则,他们会坐在那里试图决定程序是否正常工作、是否出错,或者是否仍在处理中。
-
@HansPassant 请不要在不知道我正在尝试构建什么应用程序的情况下得出其无用代码的结论。 (我厌倦了这种无所不知的态度)我正在制作一个应用程序来测试一个嵌入式设备,其中用户在填写某些数据后单击一个按钮,并且该应用程序进行各种端口测试,我想给用户当前测试的状态。我不认为这将是“无用的代码”
-
不要犹豫,在您的问题中加入相关细节,帮助人们给您更好的答案。让他们猜测确实会在两端产生烦恼。
标签: vb.net event-handling