C#:。ShowDialog Convention

时间:2014-09-17 22:17:45

标签: c# winforms forms visual-studio-2010

设计新表单的推荐方法是什么?

我应该致电new MyForm().ShowDialog()

或者改为将ShowDialog()改为构造函数?

MyForm(){
   ...
   this.ShowDialog();
}

1 个答案:

答案 0 :(得分:4)

如果希望显示表单,请明确调用ShowDialog()

我从未见过使用过第二种惯例。它可能也会引起问题,因为你不希望调用类的构造函数来在屏幕上显示模态对话框。此外,如果您需要在表单上设置任何状态,并且由于某种原因无法在构造函数中执行此操作,则最终会在表单正确初始化之前显示对话框。

此外,从构造函数中调用ShowDialog()意味着您无法在触发对话框显示的代码中获取DialogResult返回值,这意味着您可以&#39 ; t告诉用户是否选择了ok / cancel / yes / no / etc ......