我在Winforms应用程序中有两个表单类(Form1和Form2).
Form1是这样的:

Form2是这样的(ShowInTaskbar = false):

这个代码在Form1上:
Form2 someForm = new Form2();
private void btOpenAnotherWindow_Click(object sender, EventArgs e)
{
if (someForm.ShowDialog(this) == DialogResult.OK)
MessageBox.Show("OK!!!");
else
MessageBox.Show("Not OK.");
}
Run Code Online (Sandbox Code Playgroud)
也就是说,一个带有按钮的窗口,在单击时以模态方式打开另一个窗口,并等待用户关闭第二个窗口(通过单击"确定"或"取消"按钮).并根据它是如何关闭的,执行交替操作(此处由MessageBox.Show()调用表示).
我需要:
以上示例以两种方式失败:
单击最小化按钮之前:

后:

注意:
Form2是一个完整的窗口(本身不是一个对话框窗口),我需要用户与它进行交互,直到它关闭,我还需要用户能够在需要时将整个应用程序缩小.
遗憾的是我无法在这里发布真实的形式,这将比这些模型更清晰.
我需要一个适用于多级模态窗口的解决方案(不仅如本例所示,还有两个).有什么建议?
可能有某种方法可以使用 API 调用来破解此功能,但我可能建议使用主窗体内的控件而不是实际的窗口进行某种类型的覆盖。这将允许您将其设置为“模态”,并且仍然能够最小化/调整主窗口的大小。
| 归档时间: |
|
| 查看次数: |
1721 次 |
| 最近记录: |