Top > プログラミング > .NET Tips> フォームが一つしか表示されないようにする

フォームが一つしか表示されないようにする」への評価、コメント

評価

良い / 悪い = 38 / 9 (「良い」の割合 = 0.809 , 人気度 = 1.353

評価する

コメント一覧


通常のコメント
匿名 2021/03/9 (Tue) 12:13:31
C#で

//フォームを閉じずに隠すようにする

にした場合に、アプリ終了時にこのフォームを閉じるにはどうしたら良いのでしょうか?

評価の理由
osdmss 2019/01/24 (Thu) 11:48:53
評価:良い
いつも本当にお世話になっております。
シングルトンデザインパターンの適用、まさに求めていた内容で大変参考になりました。
この場合、Formのインスタンスは破棄されず、再表示した時はLoadイベントが発生しなかったので、VisibleChangedイベントでVisible=trueの場合に初期化処理を記述する事で、作りたい機能を実現することが出来ました。

通常のコメント
匿名 2015/10/24 (Sat) 00:17:14
Form1に入るのか2に入るのかこれは一体どっちのクラスになるのか
ややこしいので迷いました。
2に入れるのね…。

通常のコメント
管理人 2015/06/24 (Wed) 00:37:34
> public sealed partial class Form2 : Form
> としなければならないのではないでしょうか?

partialを付けるか付けないかはケースバイケースですので、その点は察していただきたいのですが、念のために記事に書き足すことにしました。ご意見、ありがとうございました。

通常のコメント
sokafuji 2015/05/3 (Sun) 11:43:10
public sealed class Form2 : Form
ではコンパイル時にCS0260エラーが出てしまいました。
public sealed partial class Form2 : Form
としなければならないのではないでしょうか?

通常のコメント
管理人 2014/08/9 (Sat) 01:53:45
> 一つ疑問に思ったのですが、フォームを隠すのではなく、フォームを再生成してはいけないのでしょうか?

「静的プロパティを使用する方法」ではそうしていますので、「シングルトンデザインパターンの適用」のことですね。この例はあくまでシングルトンデザインパターンを適用する例で、ご提案いただいた方法ではそれから逸脱してしまいます。通常は、「静的プロパティを使用する方法」で十分だと思います。

通常のコメント
通りすがり 2014/05/8 (Thu) 13:43:52
いつもこのサイトにはお世話になっております。
一つ疑問に思ったのですが、フォームを隠すのではなく、フォームを再生成してはいけないのでしょうか?
具体的には、_instanceがNothingまたは破棄されているときは、新しくインスタンスを作成するということです。
"インスタンスが常に一つであればいい"というのであれば、インスタンスを再生成する方が分かりやすい気がするのですが、どうでしょうか。

通常のコメント
管理人 2012/02/24 (Fri) 01:16:26
> My.Formsの場合、各スレッドごとに1つになるので、一つだけのインスタンスとは違うように思います。

ご指摘ありがとうございました。確かにおっしゃるとおりです。次の機会に修正させていただきます。

通常のコメント
匿名 2012/02/23 (Thu) 17:04:17
My.Formsの場合、各スレッドごとに1つになるので、一つだけのインスタンスとは違うように思います。

評価の理由
まけろう 2010/12/7 (Tue) 13:14:24
評価:良い
大変参考になりました。ありがとうございます。

通常のコメント
匿名 2010/11/16 (Tue) 15:36:55
親フォームからシングルトンの子フォームを開く設計の場合、一度子フォームを開くと親フォームを閉じれなくなります(親フォームが子フォームを閉じようとしますが、失敗するため)

その場合、e.CloseReasonがCloseReason.FormOwnerClosingの場合にはキャンセルをしないようにする必要があります。

評価の理由
Aqua 2009/10/19 (Mon) 21:18:06
評価:良い
勉強になりました。

評価の理由
LukeShort 2009/04/5 (Sun) 20:26:02
評価:良い
分かりやすい説明で助かりました。

評価の理由
匿名 2007/03/3 (Sat) 17:05:09
評価:良い
VB素人の僕でもわかりやすかったです^^v

評価の理由
お爺ちゃんですよ 2006/07/16 (Sun) 23:22:11
評価:良い
Form の Singletion について、他も参照したが
ほぼ同じで、Dispose後まで考えたものが少なかった。
でも、Singletonってインスタンスを1つだけ生成できるようにするだと思ってたのに、どこの例も最初に生成したインスタンスの再利用みたい。
Nothing or Dispose なら新規インスタンスを生成する最初の例が、"インスタンスを1つだけ生成できるようにする"を一番満たしてるような気がします。
他の例だと変数宣言と同時に New になってるので、全部の使用 Form が起動時に生成されるのかな…

コメントの投稿

[説明]