2009年05月26日
川俣晶の縁側ソフトウェア技術雑記total 10546 count

フォームのLoadイベントは2回以上来る(かもしれない)・書籍『C# .NETアプリケーション開発 徹底攻略 C# 3.0/.NET Framework 3.5対応』より

Written By: 川俣 晶連絡先

 献本を受けた「C# .NETアプリケーション開発 徹底攻略 C# 3.0/.NET Framework 3.5対応, 伊藤 真二, 毎日コミュニケーションズ」を少しずつ読んでいましたが。

 これは面白いかも。

 70ページぐらいまで読み進みましたが、WindowフォームのFormに対するLoadイベントは2回以上来る(かもしれない)という指摘は目から鱗が落ちました。

 確かに、Formを継承したクラスのインスタンスに対して、2回以上ShowDialogを使ってはいけないという規定は見たことがないし、その場合は当然(おそらくWM_CREATE相当の)Loadイベントが2回以上発生するのは当たり前。(オブジェクトの寿命とウィンドウの寿命は一致していない)

 しかし、Loadイベントは1回しか起きないという前提で初期化コードを書いてしまうのはよくあることで、私もやってます。これが問題を引き起こさないのは、単純にフォームのオブジェクトを2回以上使うコーディングがあまり行われないからでしょう。実際、私もやりません。常に、フォームはnewしてShow(Dialog)して閉じて終わりです。ですが、たとえば汎用ライブラリなどを書く場合は十分ではないわけですね。どう使われるかは予測できないから。

 更に言えば、問題は「言われてみれば当たり前」であるにも関わらず、遭遇するまでは気付きにくいことです。

 そういうタイプのノウハウが多いという点で、この本は面白いと思いました。著者は本当に開発にC#を使っている人だと思います。論よりソースですね。

 続きも読んで行こうと思います。

Facebook

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20090526140144
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.