我不明白为什么这个属性没有setter。如果你能够设置这个属性会发生什么?
答案 0 :(得分:1)
来自documentation的Form.Modal
属性的目的:
获取一个值,该值指示此表单是否以模态方式显示。
因此,它只检查表单的模态状态。拥有一个制定者是没有意义的。
要以模态方式打开表单,您应该使用ShowDialog()
方法,也如上面链接中所述。这样,当您检查Modal
属性时,它将返回true。
如果您的问题是在显示之后是否可以使用模式,答案是否,您不能。要了解原因,您需要了解ShowDialog()
首先如何制作表单模式。请查看Hans Passant的awesome answer,了解ShowDialog()
在技术层面的工作原理。
答案 1 :(得分:1)
正如其他人所说,这取决于当前如何使用表单,即。是Show()
还是ShowDialog()
。在显示表单的同时,它不会让 sense 允许您更改它的模态 1 。
当表单没有显示时,将它设置为可设置的属性也没有意义,因为重要的是表单的下一次使用是通过Show
还是ShowDialog
虽然大多数表单只会以模态或非模态显示 ,但该选项仍然可以在两种方式中使用单个表单。
1 特别是因为当通过ShowDialog
以模态方式显示表单时,调用ShowDialog
的代码将被阻止,直到它返回结果对话框。如果您在表单已经Show
n之后将其更改为模态,那么在返回时没有人等待接收对话框结果。
答案 2 :(得分:0)
我不明白为什么这家酒店没有二传手。什么会 如果你能够设置这个属性会发生什么?
它没有设置器,因为一旦显示 Form ,就无法更改其模态样式。虽然微妙的,模态和非模态形式在所有者方面表现不同,并且阻止了调用者和其他不太明显的事情。它似乎不值得加入我想象的混乱。
此外,用户必须先与Modal / Dialog窗口进行交互,然后才能返回到父应用程序。这样可以避免在主窗口和设计上中断工作流程。
因此,如果您需要模态表单,请致电ShowDialog()
或致电Show()