C#:Windowsフォームの起動時にFocusメソッドが動作しない場合の対処法

c_charp_logo C#

Windowsフォームで起動時(フォームロードイベント発生時)になぜかFocusメソッドが無視されます。
例えば、フォーム起動時にあるテキストボックスにフォーカスを移動させておきたい時、などです。

対処法としては、次のように

private void Form1_Load(object sender, EventArgs e)
{
	this.ActiveControl = this.textBox1;	// ここではtextBox1.Focus()はフォームロード時は使えない
}

フォームのActiveControlプロパティにフォーカスを移動させたいコントロール名を指定するだけです。

それ以外の場合でしたら

textBox1.Focus();

などとすれば大丈夫です。

コメント

タイトルとURLをコピーしました