プログラミングに関する小ネタ、Tips、その他色々

フォームを表示するには、Show、ShowDialogなどの方法がある。
他にも、Visible = trueでも表示可能。
インスタンスの再利用時と発生するイベントについて挙動が異なる。

ShowDialog()
Formをモーダルで開く。
Dispose、Closeを呼ばなければ何度でも利用可能。
Visible=falseやHideだと、初回のみOnClosing->OnFormClosingまでイベントが発生する。
Closed/OnFormClosedは呼ばれない。
×ボタンやClose()実行で普通に閉じるとOnClosed/OnFormClosedが発生。
Show()
Formをモードレスで開く。
閉じた時点でDisposeが実行されるので、再利用不可能。
再びShowしようとすると、ObjectDisposedExceptionが発生する。
Visible、Hide()
Showと同じくモードレスで開く。
Showと違うのは、Visible = falseで閉じた後でもインスタンスが破棄されない。
再びVisible=trueとすれば、再度表示できる。
※表示したFormから「×」選択やCloseを実行すると、Showと同等で再利用できない。
Visible=trueによる起動は、初期のみOnLoad/OnShownが発生する。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

×

この広告は60日間更新がないwikiに表示されております。

Menu

カテゴリ

プログラミング言語

スクリプト言語

プラットフォーム

ライブラリ

その他

編集テスト用メニュー

【メニュー編集】

管理人/副管理人のみ編集できます