C# .NET Compact Framework-不带ShowDialog的模式表单
有没有一种方法可以在不调用ShowDialog metod的情况下显示模态形式?通过显示模态表单,我的意思是表单覆盖当前表单,并阻止用户输入到表单。要显示的表单是非全屏的MessageBox样式表单 谢谢C# .NET Compact Framework-不带ShowDialog的模式表单,c#,.net,winforms,windows-mobile,compact-framework,C#,.net,Winforms,Windows Mobile,Compact Framework,有没有一种方法可以在不调用ShowDialog metod的情况下显示模态形式?通过显示模态表单,我的意思是表单覆盖当前表单,并阻止用户输入到表单。要显示的表单是非全屏的MessageBox样式表单 谢谢 Dominik我假设您可以将“对话框”窗体设置为保持在顶部(最顶部的属性),然后禁用主窗体以防止输入 这只是一个局部解决方案,因为主窗体仍然能够集中、关闭等。您需要自己处理所有这些情况,以防止它们 您不想使用ShowDialog有什么特殊原因吗?您可以尝试这样做: MyForm frm
Dominik我假设您可以将“对话框”窗体设置为保持在顶部(最顶部的属性),然后禁用主窗体以防止输入 这只是一个局部解决方案,因为主窗体仍然能够集中、关闭等。您需要自己处理所有这些情况,以防止它们
您不想使用ShowDialog有什么特殊原因吗?您可以尝试这样做:
MyForm frm = new MyForm(); // this would be your modeless dialog
frm->show(this); // "this" being the instance that invokes it.
不使用
ShowDialog()
有几个原因,主要问题是向其他应用程序分配任务时,返回到所述应用程序的任务将显示父窗体,以使窗体在任务管理器中实际获得自己的任务。实际上,您无法在父窗体上执行任何操作,因为它拒绝输入,但您无法访问打开的窗口,因为它是一个单独的进程。Show(form)
重载在compact framework上不可用。相反,您必须将Owner
属性设置为所属表单,然后调用Show()
。