[解決済み] C# Form.CloseとForm.Disposeの比較
質問
私はC#の初心者で、以前の投稿を見ようとしましたが、良い答えが見つかりませんでした。
C#のWindowsフォームアプリケーションで、1つのフォームで
Form.Close()
を使うのが良いのか、それとも
Form.Dispose()
?
MSDN は、Close が呼び出されると、オブジェクト内のすべてのリソースが閉じられ、フォームが破棄されると述べています。それにもかかわらず、私はCloseではなくDisposeに従ういくつかの例にオンラインで出会いました。
一方は他方より有利なのでしょうか。どのようなシナリオで、一方を他方よりも好むべきなのでしょうか。
どのように解決するのですか?
これは のフォーラムでは、MSDN で教えています。
Form.Close()
は適切な Windows メッセージを送り、win32 ウィンドウをシャットダウンします。このプロセスの間、もし フォームが表示されていない場合、Dispose が呼び出されます。 が呼び出される。フォームを破棄することで フォームを廃棄することで、フォームが保持している非管理下のリソースを を解放します。もしあなたが
form1.Show()
またはApplication.Run(new Form1())
である場合、Dispose が呼び出されます。Close()
が呼ばれたときに呼び出されます。しかし、もしあなたが
form1.ShowDialog()
でフォームをモーダルに表示すると、フォーム は破棄されません。 を呼び出す必要があります。form1.Dispose()
を自分で呼び出す必要があります。 I このときばかりは フォームの廃棄について心配する必要があるのは を破棄することを心配しなければならないのは、このときだけだと思います。
関連
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み] [Solved] アセンブリ System.Web.Extensions dll はどこにありますか?
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み] .NETで使用後にオブジェクトをNull/Nothingに設定する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み] [Solved] アセンブリ System.Web.Extensions dll はどこにありますか?
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
[解決済み】プロセスが実行されているかどうかを知るには?
-
[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015
-
[解決済み] 他のスレッドからGUIを更新するにはどうすればよいですか?