0

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

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

MyInput我像这样从自身内部封闭形式;

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

    }

流程在 MainForm 中恢复并使用

this.Show();

或者

this.Activate();

两者都不会始终如一地把它MainForm带到前面。我怎样才能做到这一点?

4

2 回答 2

2

您需要做的是像这样显示您的 InputForm。这种形式的ShowDialog将所有者分配给您的对话框。

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

MyInput.Close();
于 2012-05-09T22:51:57.453 回答
0

this.Hide()似乎隐藏了主要形式,而不是输入。因为ShowDialog是一种阻塞方法,所以 InputForm 需要通过用户操作、InputForm 内部的代码或其他线程来关闭。

于 2012-05-09T22:45:07.793 回答