问题 如何知道表单是否显示为对话框


是否已经有一些我可以使用的属性,例如:

if (this.IsDialog)
{
    DialogResult = ...;
}
else
{
    //do something else
}

或者我应该创建这样的属性  并将其设置为 true 在将表单显示为对话框之前?


11667
2018-06-19 16:25


起源



答案:


你可以查看是否 this.Modal 是真的。


16
2018-06-19 16:28



怎么检查是否 is CommonDialog? - Oded
谢谢! if(this.Modal)有效。 - Dil
@Oded CommonDialog不适用于通过用户创建的表单 ShowDialog() - Reed Copsey
那么模态意味着显示为对话框?还是有其他Modal案例? - Dil
@Dil ShowDialog是框架设置模态的唯一方法。它实际上是在检查是否应用了模态样式,所以如果你真的尝试的话,可能有办法打破它,但只要你不做任何非常奇怪的事情(即:PInvoke windows api调用改变它),这将有效。运行时的窗口等) - Reed Copsey


答案:


你可以查看是否 this.Modal 是真的。


16
2018-06-19 16:28



怎么检查是否 is CommonDialog? - Oded
谢谢! if(this.Modal)有效。 - Dil
@Oded CommonDialog不适用于通过用户创建的表单 ShowDialog() - Reed Copsey
那么模态意味着显示为对话框?还是有其他Modal案例? - Dil
@Dil ShowDialog是框架设置模态的唯一方法。它实际上是在检查是否应用了模态样式,所以如果你真的尝试的话,可能有办法打破它,但只要你不做任何非常奇怪的事情(即:PInvoke windows api调用改变它),这将有效。运行时的窗口等) - Reed Copsey