- PR -

Form上のコントロールのDispose()について

投稿者投稿内容
momomo
会議室デビュー日: 2006/01/12
投稿数: 6
投稿日時: 2008-10-03 15:34
これ、不思議に思っていたんです。
Windows Mobile用のプロジェクトにFormを追加したとき、Designer.csのInitializeComponent()内に自動的に作成されるコードには、

  this.components = new System.ComponentModel.Container();

というコードが存在するのに、「デザイン」でコントロールをドラッグ&ドロップすると、このコードが消えてしまうという現象。
VS2005がそういう動きをしているのだから何か理由があるのだと思っていました。

引用:

回避策として、「自分で Components に追加しよう」というのがあがっています。



そういう回避策ですか。。。なるほど、ありがとうございました。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-10-03 22:33
引用:

momomoさんの書き込み (2008-10-03 15:34) より:
そういう回避策ですか。。。


 もし、誤解されているなら。
 回避策は、その問題に出会った人が、「とりあえず、こうやれば回避できる」として提示しているものです。マイクロソフトからの回答ではありません。

 Connect サイトは、製品の開発者によって運営されています。ここで問題を提示すると、開発者自身が検証します。ですから、レーティングを行って、多くの人がこの問題で困っているということをアピールしましょう。
(レーティングには、Live ID が必要です。)

 言い換えれば、重要なバグでも、それで困る人が少なければ放っておかれる、ってことです(^-^;
また、まもなく VS2010 の開発が始まります。そうなると「旧製品」のバグフィックスは後回しにされてしまいます。「旧製品」になってしまうと、正規のサポートからバグであることを連絡し、Private HotFix を作ってもらう方が早いでしょう。
(ここで「旧製品」とは、Connect で提供しているβ製品よりも古いという意味です。)

 プロフェッショナル サポートは有料なので、「お金がかかるのなら」と躊躇される人がいらっしゃいますが、それは杞憂です。費用は、目的が達せられたときに発生します。そして、目的を阻んでいるものが製品のバグなら、インシデントはキャンセルされ、費用は発生しません。
 今回はバグだということがはっきりしているので、「Connect サイトの ID 305534 で報告されているバグについて、HotFix はありますか?」と尋ねれば、費用は発生しないと思います。
(製品のライフサイクル上、どこの位置にあるかが問題)
momomo
会議室デビュー日: 2006/01/12
投稿数: 6
投稿日時: 2008-10-09 11:12
丁寧なご回答ありがとうございました。
問い合わせはかけてみたいと思います。
まぁ、とりあえずなんとかなっているので、問題はないのですが。

スキルアップ/キャリアアップ(JOB@IT)