ShowDialog() 不在主窗体顶部显示窗体

问题描述 投票:0回答:2

我有一个处理订阅数据的 winforms 应用程序。主表单检查用户是否在数据存储区(xml 文件)中,如果不是,我称之为此。 UserDetails 是一个数据输入表单。

else
{
    Form frm = new UserDetails();
    frm.ShowDialog();
}

问题是 UserDetail 表单不在顶部,我可以选择主表单。

c# winforms visual-studio-2012
2个回答
12
投票

如果您的主表单是

TopMost
,则可能会发生这种情况。

尝试使用

frm.ShowDialog(this);

当从主窗体调用时。

这将确保对话框是主窗体的可视子窗体,即使主窗体是

TopMost
,对话框也会位于其上方。


0
投票

尝试使用以下解决方案之一:

  1. 尝试使用 Show 方法并将 topmost 属性设置为 true:

    frm.TopMost = true; frm.Show(mainForm);

  2. 尝试使用ShowDialog方法:

    frm.ShowDialog(mainForm);

© www.soinside.com 2019 - 2024. All rights reserved.