我有一个WinForms应用程序,处理订阅数据。主窗体检查用户是否在数据存储中(XML文件),如果不在则调用此操作。UserDetails是一个数据输入表单。
else
{
Form frm = new UserDetails();
frm.ShowDialog();
}
问题出在UserDetail表单未置顶,我无法选择主表单。
我有一个WinForms应用程序,处理订阅数据。主窗体检查用户是否在数据存储中(XML文件),如果不在则调用此操作。UserDetails是一个数据输入表单。
else
{
Form frm = new UserDetails();
frm.ShowDialog();
}
如果您的主窗体是 TopMost
,可能会发生这种情况。
尝试使用
frm.ShowDialog(this);
当从主窗体调用时。
这将确保对话框是主窗体的可视子级,即使主窗体设置为TopMost
,对话框也会显示在其上方。
TopMost = true
的窗体中调用 fmr.ShowDialog()
仍会将对话框置于最顶层。因此,我认为这不是问题所在。 - Jon Bfrm.TopMost = true;
frm.Show(mainForm);
frm.ShowDialog(mainForm);
使用上述解决方案之一取决于您的用户界面和逻辑。