【发布时间】:2015-08-21 12:32:32
【问题描述】:
是否可以从 C# 的构造函数内部调用/触发/抛出/触发(不知道正确术语是什么)事件?
我问的原因是我有一个难题:我有一个需要很长时间才能启动的表单(通过它的构造函数),因为它需要加载大量文件。所以,我希望在启动主窗体之前出现一个启动/加载屏幕。此外,我想用更新来更新启动画面,告诉它到目前为止已经加载了什么,没有加载什么。
我在一个单独的线程中运行启动画面,并希望发送有关通过事件加载的内容的消息。不幸的是,我似乎无法从主窗体的构造函数中触发事件。有人对我能做什么有任何建议吗?或者我将如何从构造函数中触发事件?
提前致谢。
【问题讨论】:
-
你在winform,WPF中工作吗?
-
构造函数应该用于初始化类的状态。然后出现其他一切。在您的情况下,您似乎使用不适当的逻辑加载它。所以把逻辑和事件放到单独的方法中,比如
Init。 -
您正在开发什么类型的应用程序? WPF、Windows Phone 等。您是否尝试过异步加载文件?
-
@jmaster18 和 X-TECH:我在 winform 工作
-
@user2636234 为什么要从构造函数中调用它,而不是整个指向?第二点不清楚。如果涉及 WinForms,
Control或Form类中有很多事件。见here。其他(WPF)类似。平常的事。
标签: c# multithreading events constructor