如何在一种形式上顶部另一个表格

本文关键字:形式上 一种 顶部 另一个 表格 | 更新日期: 2023-09-27 18:30:31

如何在 C# 中将一个窗体放在另一个窗体的顶部?

如何在一种形式上顶部另一个表格

你把它放在表格2中

 public delegate void CheckedEventHandler(bool val);
 public event CheckedEventHandler Checked;

和事件 在表单 2 上单击确定

if (Checked != null) 
    Checked(yourvalue); // bool value

现在处于表格 1 中

using (Form2 form = new Form2())
{
form.Checked += form2_Checked;
form.ShowDialog();
form.Checked -= form2_Checked;
}
void form2_Checked(bool val)
{
// do whatever you want with your value (form FORM2) set TopMost 
}

如果窗体 1 已经"位于顶部",则设置 "TopMost" 属性不会更改任何内容。

此外,默认情况下,表单"拥有"由它们创建和 Show()n 创建的其他表单。因此,如果表单 1 创建并显示 Form2,并且当您单击"确定"时 Form2 未关闭,那么即使 Form1 设置为 TopMost,因为它拥有 Form2,并且根据定义,"拥有"表单始终出现在其所有者之上,Form2 仍将出现在 Form1 之上。

通常,您不应该使用"TopMost",除非您显示一个用户必须看到的窗口,无论发生什么其他事情。通常还有其他方法可以完成您想要的操作(例如BringToFront()方法)。

您可以将 Form2 的 chakbox 的修饰符(在属性中)更改为公共,以便能够访问该复选框。

如果您使用的是 form2。显示对话框() 比你可以设置对话框结果的复选框。检查