我有一个表单,我想在执行异步事件时阻止它。我希望实现类似于显示对话框窗口时的效果,而不显示或创建对话框窗口。
我不想手动禁用表单上的控件,因为将来可能会添加一些控件(不一定是我)。我希望避免因美观原因而禁用整个表单/用户控件。
有没有一种标准/优雅的方法来实现这一目标,还是我走错了方向?
答案 0 :(得分:1)
您可以通过将Enabled
属性设置为false
来阻止WinForm窗口,但它会阻止用户使用该窗口执行任何操作(如移动,调整大小或隐藏)非常烦人请考虑显示一些负载指示器。
我不建议禁用控件而不禁用它们,因为它可能会使用户感到困惑。
修改:@AvoNappo指出窗口行为的不同取决于将Enable
属性设置为false
的位置:
如果在构造函数中设置它,用户仍然可以移动/最小化/关闭窗口;
如果你在构造函数窗口控制按钮和窗口移动后调用它也会被阻止。