初期フォーカス
`
Formにラベルを3つ、テキストボックスを3つ配置。
この場合、TabIndexが一番若いテキストボックスにフォーカスされる。
(※ラベルのTabIndexの方が若くても、テキストボックスにフォーカスされる。)
フォーカスされるコントロールを指定する
コントロールにフォーカスを当てるためにはいくつか方法がある。
-
- コントロール名.Focus(); (Loadイベント以外のみ)
- コントロール名.Select();
- ActiveControl = コントロール名;
このいずれかを書けばいい。
ただし、注釈にもあるように、コントロール名.Focus(); はLoadイベント以外のみ適用される。
Loadイベント時に
private void Form1_Load(object sender, EventArgs e)
{
textBox2.Focus();
}
と書いたとしても、フォーカスされるのはtextBox1となる。
【結果】
これが、下記のいずれかであれば、フォーカスされているのはtextBox2となる。
private void Form1_Load(object sender, EventArgs e)
{
textBox2.Select();
}
private void Form1_Load(object sender, EventArgs e)
{
ActiveControl = textBox2;
}
【結果】
Loadイベント以外であれば、Focusでもフォーカスされる。
コメント