検索
連載

テキストボックスのキャレットを文字列の末尾に移動させるには?.NET TIPS

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「.NET TIPS」のインデックス

連載目次

 Windowsフォームで使用するテキストボックスは、次の画面例のように、新たにフォーカスを受け取ると、テキストボックス内に入力された文字列全体を選択状態にする仕様になっている。


フォーカス時に文字列が全選択されてしまう例

 この仕様では、ユーザーの入力により既存の文字列が消えてしまう。本稿では、テキストボックスに入力フォーカスが移動した際に文字列を全選択せず、次の画面のように、その文字列の末尾にキャレットを移動する方法について解説する。


フォーカス時に文字列の末尾にキャレットが移動する例

 まず、キャレットの位置の移動はテキストボックス(TextBoxコントロール)のSelectメソッドにより可能だ。このメソッド呼び出しを、テキストボックスがフォーカスを受け取ったときに発行されるEnterイベントのイベント・ハンドラ内に記述すればよい。このイベント・ハンドラは具体的には次のようになる。

private void textBox2_Enter(object sender, System.EventArgs e)
{
  this.textBox2.Select(this.textBox2.Text.Length, 0);
}

フォーカスを受けたときにテキストボックス文字列の末尾にキャレットを移動するコード(C#)

Copyright© Digital Advantage Corp. All Rights Reserved.

ページトップに戻る