-1

こんにちは私は新しいプログラマーです。次のコードを使用してVC#フォームを非表示にできない理由を知っています。

private void button1_Click(object sender, EventArgs e)
{
Form1 frmobj = new Form1();
frmobj.Close();
frmobj.Hide();
}

次のコードの助けを借りて同じことを行うことができます-

private void button1_Click(object sender, EventArgs e)
{
this.Close();
this.Hide();
}

Form1の新しいインスタンスを使用して、現在のフォームを閉じて非表示にできない理由を教えてください。

4

2 に答える 2

3

コードは、現在のフォームではなく、新しいフォームを閉じて非表示にしようとしています。

this.Close();

現在のフォームを閉じることを意味します。

新しいフォームを表示する前に閉じることはできません。

于 2012-04-23T07:27:53.097 に答える
0

Close メソッドを呼び出すと、フォームが閉じられて破棄されます。つまり、そのメソッド呼び出しの後、フォームのインスタンスはもう存在しないため、インスタンスが存在しないため、そのインスタンスで他のメンバー メソッドを呼び出すことはできません。もう(処分されます)。

于 2012-04-23T07:29:34.910 に答える