如何在另一个表格中排名第一?

时间:2012-04-10 14:27:51

标签: c# c#-4.0

如何在C#中将一个表单放在另一个表单上?

3 个答案:

答案 0 :(得分:1)

你把它放在表格2中

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

and on event在FORM 2上单击“确定”

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

现在是FORM 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 :(得分:0)

如果表单1已经“在顶部”,则设置“TopMost”属性不会改变任何内容。

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

通常情况下,除非您显示用户必须看到的窗口,否则不应使用“TopMost”,无论其他情况如何。通常还有其他方法可以实现您的目标(例如BringToFront()方法)。

答案 2 :(得分:0)

您可以将Form2的chakbox的修饰符(在属性中)更改为 public ,这样您就可以访问该复选框。

如果您使用 form2.ShowDialog(),则可以通过 checkbox.Checked

设置对话框结果