Windows Formアプリケーションで指定したコントロールにフォーカスを与える
Windows Formアプリケーションで指定したコントロールにフォーカスを与えるコードを紹介します。
概要
Windows Formアプリケーションの指定したコントロールにフォーカスを与えるには、ControlクラスのFocusメソッドを呼び出します。
書式
プログラム例
UI
下図のUIを作成します。
コード
以下のコードを記述します。フォームのActivateイベントとButton1のClickイベントを実装します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace SetFocusToControl
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void Form1_Activated(object sender, EventArgs e)
{
textBox1.Focus();
}
private void button1_Click(object sender, EventArgs e)
{
textBox2.Focus();
}
}
}
解説
private void Form1_Activated(object sender, EventArgs e)
{
textBox1.Focus();
}
フォームがアクティブになった場合にはtextBox1にフォーカスを与えます。
private void button1_Click(object sender, EventArgs e)
{
textBox2.Focus();
}
button1をクリックした場合はtextBox2にフォーカスを与えます。
実行結果
プロジェクトを実行します。下図のウィンドウが表示されます。textBox1にフォーカスがセットされます。
button1をクリックします。textBox2にフォーカスがセットされます。
フォームを非アクティブにします。フォーカスがフォームから無くなります。
フォームをクリックしアクティブにします。フォーカスがtextBox1にセットされます。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用