- - PR -
フォームの生命期について
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-10-06 17:30
public void ShowForm() {
Form2 cForm = new Form2(); cForm.Show(); } このメソッドは毎回呼び出された、新しいフォームを表示する。ても、ShowForm()を実行した後で、cFormの生命期は終わりだった。どうしてフォームは表示していく?フォームのインスタンスはどこに保存している? フォームのインスタンスはどうすると取れる? [ メッセージ編集済み 編集者: 未記入 編集日時 2005-10-06 18:08 ] | ||||||||||||
|
投稿日時: 2005-10-06 17:42
お世話になります。
こちらが参考になると思います。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22671&forum=7 | ||||||||||||
|
投稿日時: 2005-10-06 17:54
こんにちは、じゃんぬ です。
スコープを抜けているだけで、インスタンスは存在します。 つまり、変数のスコープを抜けてその変数を通して参照できなくなるだけです。 参照の寿命とインスタンス自体の寿命は別ということです。 Show メソッドで表示された Form は、Close されれば Dispose されます。 ShowDialog メソッドの場合は、しっかりと Dispose してあげてくださいね。
表示する際に変数に参照を取っておくのが一般的ですよね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1