一旦我启动了win表单应用程序,我就会创建一个后台工作程序来进行一些初始化。在初始化发生时,我希望表单中的所有按钮保持禁用状态。
我在想什么是最好的方法。我能想到的一个简单方法是在线程的已完成事件中设置一个标志。还有其他更好的方法吗?
答案 0 :(得分:2)
在这种情况下,我通常将控件放入Panel
,在后台进程启动时禁用面板,然后在工作完成后再次启用它。这样,您无需跟踪每个控件的Enabled
状态。根据您的编码风格,可以在表单的Load
事件处理程序(或OnLoad
覆盖中)中删除面板并启动后台工作程序。
答案 1 :(得分:1)
我们可以使用委托disablealldelegate来禁用线程初始化中的所有控件,当线程退出时我们可以使用另一个委托enablealldelegate来启用所有控件(或所需的控件)
使用防溅板或装载屏幕或登录表格也是可行的
答案 2 :(得分:0)
有旧的“显示应用程序的屏幕截图”技巧;它给出了近乎即时启动时间的错觉,当然,在用初始化表单替换图像之前,用户无法与控件交互。
您可以保持表单隐藏,直到初始化完成,改为显示启动画面。
初始化完成后,您可以显示一个自动关闭的模式对话框。
答案 3 :(得分:0)
默认情况下,我会禁用“表单设计器”中的按钮。
然后我会在初始化方法的末尾添加代码,以便在其余的初始化完成后启用它们。
答案 4 :(得分:0)