2011-12-04 14 views
-6

オブジェクト参照がオブジェクトのインスタンスに設定されていません。オブジェクト参照がForm2のないオブジェクトのインスタンスに設定されていないf2 = new Form2();

私は次のコードを使用しています:

Application.OpenForms["Form2"].ShowDialog() 

エラーがどのようなものですか?

私は、これは、プログラミングの非常に基本的である次のコード

Form2 f2 = new Form2(); 
f2.ShowDialog(); 
+2

なぜ* open *フォームで 'ShowDialog()'を呼びたいのですか?既に開かれている*。 – Ryan

+1

あなたは明らかに 'OpenForms'プロパティと' ShowDialog'が何をしているのか分かりません。何を正確に達成しようとしていますか? – Otiel

+2

このようなコードを書く場合は、vb.netへの切り替えを検討してください。実際には 'Form2.ShowDialog()'をサポートしています。プログラマーの心には非常に破壊的ですが、これを覚えておらず、実際のOOPマスターになるのは非常に難しいです。 –

答えて

1

を使用する必要はありません。あなたはフォーム2を開いてみようとしています。インスタンスは "new"キーワードで作成されます。

Form2 f2 = new Form2(); 
f2.Show(); 

これは通常の新しいフォームを開く方法です。ダイアログはモーダルなので、他のフォームにアクセスすることはできません。

関連する問題