MSDN セッションの準備をしていて(あんど、けろさんの某日記を読んで)、改めて思ったこと。
私に技術力はない(そもそも、「IT の技術って何?」な人なので、あろうはずがない)。
それじゃぁ、どうして MVP として表彰されるものがあるのか?
MVP は、マイクロソフトが自社製品を使っているコミュニティに対して、著しい貢献があったと認める個人に対して贈られる。私自身を含めて他の人がどう思おうが、マイクロソフトの日本 MVP 事務局、アメリカの ASP 関連の開発部隊の人が「コミュニティに対して貢献している」と認めるから、表彰していただけたのだ。
いつも自分に自信の持てない私にとって、大変ありがたいことである。
そんなわけだけど、やはり、「技術力はない」という。そもそも、「IT における技術って何?」
そんな私の行動を観察すると、ウェブ コミュニティでの質問に、そのまま答えることは、ほとんど無い。たいていは、まず調べる。調べて、その結果を書く。
まて。調べればわかることだ。でも、なぜ、質問者は、わからなかったの?
「調べていない」は横に置いておいて、「調べたけどわからなかった」という質問。この質問で、何を、どう調べたのか、書いてあることは…今のところ見かけたことはない。でも、「そこは見ました」とか書かれることもあるので、彼らなりの方法で調べたはずだ。
ということは、私のアドバンテージは、ここにある。探し出す能力、だ。
ふと目にとまったスレッド。これ、検索してみる。
件名:ValidateChildrenのイベント(Insider.NET 会議室)より:
以前、ValidateChildrenを教えて頂きました。
使ってみているのですが
どうにもPanelのValidatingイベントが発生しないようなのですが
これは仕様なのでしょうか?
知りたいのは、「Validating イベントが、発生しないコントロールがあるか」ということ。では、検索開始。
まず、MSDN ライブラリを起動する。起動したら、「キーワード検索」のタブを開く。ここで、「validating イベント」と入力する。すると、Validating イベントを持ったクラスの一覧(クラス.Validating イベント)が、「キーワード検索の結果」に出てくる。この中には、「入力検証を説明するページ」も含まれる。
つまり、「『validating イベント』で検索すると、入力検証を説明するページが出てくる」ということを知っていれば、最初からこれを検索するだろう。そうすると、検索にかかる時間を大幅に短縮できるわけである。
案の定、「Windows フォーム上のコントロール データの検証」(.NET Framework SDK マネージ クライアント)というページがある。これを開く。
しかし、目的の情報は、ここにはない。ここで、「目次と同期」をクリックする。目次が表示される。目次をよく見ると、同じ階層に「Windows フォームでのユーザー入力の検証」というタイトルがある。これを見てみる。
自由形式のユーザー入力を受け取る各コントロールは Validating イベントを備えており、、コントロールがデータ検証を要求するとこのイベントが発生します。
Panel クラスは、ユーザー入力を受け取る
ことはないので、Validating イベントが発生しないと、いえる、かもしれない。
Windows フォーム コントロールにおける既定の暗黙の検証動作
この中に、Panel および Panel の親クラスは入っていない。このことから、Panel が検証動作を行わない、と考えられる。最も一般的なコントロール
というのが怪しい。「一般的に使われる」のか、「継承階層の上位」(general)のことをいっているのか、そこが曖昧。URL の "ja-jp" を "en-us" にすると、英語が出る。対応する単語は "common" のようだ。やっぱりわからん。
AutoValidate プロパティを調べると、ContainerControl クラスに定義されている。Panel クラスの継承階層に、ContainerControl クラスは入っていない。よって、自動的な検証動作は行われない。
ここまで15分。(これを書きながら)
がるさんのブログに、「名言」というエントリがある。ここに、レオナルド、ダヴィンチの言葉が引用されている。
レオナルド・ダヴィンチが注文主に、「短時間で仕上た作品に、どうしてこんなに金がかかるのか」と言われた時に、
「あなたはお忘れになっているのです。短時間で仕上げれるようになるまで私が費やした時間の事を。」
と返したそうです。
なるほど。では今度のセッションでは、短時間で検索ができるようになるまであなたが費やすであろう時間を、"短くする"ことを目標としよう。
投稿日時 : 2007年10月10日 22:23