ActiveControlプロパティはフォーカスを持つとは限らない
以下のようなフォームが定義されていたとして、
各コントロールの構造は以下のようになっているとしよう。
このようなWindowsFormsアプリケーションにおいて、textBox1にフォーカスを当てた状態で、Form1のActiveControlプロパティを見ると
Debug.WriteLine(form1.ActiveContro.Name); textBox1
これは予想通りの結果だろう。では、今度はtextBox2にフォーカスを当てた状態で、同様にActiveControlプロパティを見てみよう。
Debug.WriteLine(form1.ActiveContro.Name); ???????
今度はどうなっただろうか。そんなのtextBox2と表示されるに決まってるだろうって?
そう思った開発者は私と同様に嵌るので注意が必要だ。