.Net Framework C# Visual Studio Windows Forms

Windows Forms TextBox フォーカスイベントの登録方法(サンプルあり)

2017年1月14日

TextBox にフォーカスが当たったタイミングで TextBox 内のテキストを全選択するロジックを実装する方法です。TextBox の GotFocus イベントにイベントハンドラを指定します。

実装コード

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        this.textBox1.Text = "テキスト";
        this.button1.Focus();

        // TextBox.GotFocus イベントの登録
        this.textBox1.GotFocus += TextBox1_GotFocus;
    }

    private void TextBox1_GotFocus(object? sender, EventArgs e)
    {
        var textBox = sender as TextBox;
        textBox.SelectAll();
    }
}

実行結果

アプリケーション実行直後、ボタンにフォーカスが設定されています。その後、Tab キーを押下することでフォーカスが TextBox に移動します。TextBox1_GotFocus イベントハンドラー内の処理が実行され、TextBox1 の SelectAll() メソッドが呼び出されることで、TextBox1 内のテキストが全選択されることが分かります。

サンプルダウンロード

-.Net Framework, C#, Visual Studio, Windows Forms