投稿者 TOMTOM  (社会人) 投稿日時 2009/4/22 03:06:07
刈谷勇さん、はじめまして。

そうですね。VBには便利なデバッグ機能があるのでした。
不具合が起きると、実行して出た結果から推測して修正するクセがなかなか抜けません^^;
改めてデバッグ機能でどういう動きになるのか見てみたところ
Validated内が実行されていない訳ではなく、既に次へフォーカスが移ってしまっていたのですね。
Validatedイベントはフォーカスが外れていく時に起きるイベントと認識していたもので、
まさかフォーカスが移動してしまってからValidatedイベントが起きてるとは予想もしていませんでした。

今回のようにmsgboxを出す場合と出さない場合でフォーカスの取得結果が変わるというのが
講座の中でクセがあると言われていた部分なのでしょうか。
講座の中で提示されているどのパターンとも違うようですし、まだ他にも状況によって変わるのかもしれませんね。

刈谷勇さんにご提示頂いたコードを見て、なぜここでsenderが出てくるのだろう?と
不思議に思いながらローカルウィンドウとにらめっこしてみましたが
実はsenderには沢山の情報が詰まっていたのですね。
こういうコントロール名の取得方法もあるとは面白いです。
他にもいろいろ出来そうですね。

非常に勉強になりました。
ありがとうございました。

また分からない事が出てきたら、その時はお手間を取らせて恐縮ですが宜しくお願い致します。