ActiveControlプロパティはフォーカスを持つとは限らない

以下のようなフォームが定義されていたとして、

各コントロールの構造は以下のようになっているとしよう。

このようなWindowsFormsアプリケーションにおいて、textBox1にフォーカスを当てた状態で、Form1のActiveControlプロパティを見ると

Debug.WriteLine(form1.ActiveContro.Name);

textBox1

これは予想通りの結果だろう。では、今度はtextBox2にフォーカスを当てた状態で、同様にActiveControlプロパティを見てみよう。

Debug.WriteLine(form1.ActiveContro.Name);

???????

今度はどうなっただろうか。そんなのtextBox2と表示されるに決まってるだろうって?
そう思った開発者は私と同様に嵌るので注意が必要だ。