質問: new Form2(); // Form1のイベントハンドラ private void button1_Click(object sender, EventArgs e) { form2.Show(); } ``` --- 以下、追記。 <スマートで無いと感じる理由> Show()によりフォームが開くかどうかをShow()の仕様に任せているように感じるため。 下のコードで1つしか開かないことをShow()で保障しているかがわからない。 Show()呼び出し前に明示的に確認必要かどうかがわからない。 <知りたいこと> システム全体としてのスマートさやデータ受渡し方法などは考慮せず、 「Form1からForm2をモードレスで1つだけ表示させたい」という点のみ に絞ったときに下のコードが適切か。他によい方法があるか。
回答: この内容だけで何がスマートかを判断するのは不可能です。 現状問題が起きていないのならそれでOKとして進むべきではないでしょうか。 もし、もっと期待されているアドバイスがあるのでしたら作ろうとしているアプリケーションの全体の概要とか仕様とかそのあたり詳しく書かれるべきかと思います。