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 に答える