タイトル : Re: 複数の別のフォームから一つのフォームを表示 投稿日 : 2007/02/11(Sun) 01:13 投稿者 : るしぇ
>他の表示用フォームのボタンを押すとForm2が複数表示されてしまいます。 それぞれの表示用フォームが、自分の中に1つずつ Form2 の実体(インスタンス) を管理する変数(f2)を持ってるんでしょ?表示用フォームの数だけ表示される のが当然の結果ですよね? 全ての表示用フォームが共通して1つの変数で1つの Form2 の実体(インスタンス) を管理すればいいわけです。 [VB6.0]の時代なら Module にグローバルな変数や関数を作って…って なるけど、[VB.NET]なら Class Form2 の中に1つのインスタンスを返す 関数を作ってやるほうが便利かな? ※Class の中の関数は、一般的にはインスタンスを生成した後でしか 利用できませんので Shared 宣言して共有化しておきます。 [DOBON.NET Tips フォームが一つしか表示されないようにする] http://dobon.net/vb/dotnet/form/singleform.html 自動で書かれるコードの >Public Sub New() を Private にしてしまえば Form2 を使いたいときは Instance() プロパティを使用するしかない状態にもできます。 |