テキストボックスのキャレットの位置を変更する (TextBoxのキャレット移動)

C#のコードでTextBoxのキャレットを変更する場合は、Select()メソッドを用います。

コード例

private void button2_Click(object sender, EventArgs e)
{
  textBox1.Text = "Penguin";
  textBox1.Select(4, 0);
  textBox1.Focus();
}

解説

  textBox1.Text = "Penguin";
テキストボックスに文字列を設定します。

  textBox1.Select(4, 0);
Select()メソッドを呼び出してキャレットを移動します。左端を0として4番目の位置に移動させます。第二引数は選択文字列の長さです今回はテキスト選択をしませんので、0に設定します。

  textBox1.Focus();
テキストボックスからフォーカスが失われるとキャレットが非表示になるため、テキストボックスにフォーカスをセットします。

実行結果

左端を0として4番目の位置、gとuの間にキャレットが移動します。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2011-08-30
iPentec all rights reserverd.