[quote=引用 9 楼 sp1234 的回复:] 那要看你设计在什么层次,有什么意图。 假设你什么复用性、通用性都不考虑,那么在调用“下载”方法时把Statuslabel 作为参数传给它,它在需要显示时操作这个控件就可以了。 所谓事件,是指你将下载方法作为一个通用服务而设计的时候。这个时候你的调用它的方法(例如就是 Form 的方法)注册事件监听,捕获它抛出的事件通知(事件通知的参数包括通知具体内容)。 如果你认为“目前只是对委托不会用”,那么就不要纠结“委托”这个字眼儿。正规地学习“事件”,而不是“委托”(虽然事件是一种委托,但是事件是规范说法和常见说法,例子比较多)
那要看你设计在什么层次,有什么意图。 假设你什么复用性、通用性都不考虑,那么在调用“下载”方法时把Statuslabel 作为参数传给它,它在需要显示时操作这个控件就可以了。 所谓事件,是指你将下载方法作为一个通用服务而设计的时候。这个时候你的调用它的方法(例如就是 Form 的方法)注册事件监听,捕获它抛出的事件通知(事件通知的参数包括通知具体内容)。 如果你认为“目前只是对委托不会用”,那么就不要纠结“委托”这个字眼儿。正规地学习“事件”,而不是“委托”(虽然事件是一种委托,但是事件是规范说法和常见说法,例子比较多)
只看你现在说的,不够明细,只能给你个思路,因为实现的方法有很多 我不知道你那个读取文件的类是什么情况,但最终得和控件交互上, 如果那个类已经都封装好的,而且还能改, 一:那你就写个事件或方法,用于接受form传过来的委托,然后每获取一个文件成功后执行委托,更新控件显示 当然你这样委托在form里肯定要绑定一个具体的方法 二:如果类不能改动,那只能改form里了,在form里创建一个线程,用于写获取文件代码,一切在线程里写,当然也会用到上面的委托和方法。为什么要创建线程,因为不创建线程,界面可能会卡死那。除非你的加载类里已经封装好了
110,539
社区成员
642,577
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧