C#,如何一致地将窗体放在前面

本文关键字:窗体 在前面 何一致 | 更新日期: 2023-09-27 18:33:37

我有一个MainForm类实例,我提出另一种形式;

InputForm MyInput= new InputForm("Enter a Number");
MyInput.ShowDialog();

我像这样从内部关闭MyInput形式;

    private void Button_Click(object sender, EventArgs e)
    {
        //Do things here
        this.Hide();
    }

流在主窗体中恢复并使用任一

this.Show();

this.Activate();

两者都不会始终如一地将MainForm带到前线。我该怎么做?

C#,如何一致地将窗体放在前面

你需要

做的是像这样显示你的输入表单。这种形式的显示对话框将所有者分配给您的对话框。

DialogResult dr = MyInput.ShowDialog(this);
//test for result here
MyInput.Close();

this.Hide()似乎隐藏了主窗体,而不是输入。 由于ShowDialog是一种阻塞方法,因此需要通过用户操作、输入窗体内部代码或其他线程关闭输入窗体。