web-dev-qa-db-ja.com

テキストボックスのテキストの最後にカーソルを設定する

既に表示されている文字列を含むテキストボックスがあります。すでにやっているテキストボックスにカーソルを移動するには

txtbox.Focus();

しかし、テキストボックスの文字列の最後にカーソルを取得するにはどうすればよいですか?

66

Windowsフォームでは、txtbox.SelectionStartおよびtxtbox.SelectionLengthプロパティを使用して、カーソルの位置(および選択)を制御できます。キャレットを終了するように設定する場合は、これを試してください:

txtbox.SelectionStart = txtbox.Text.Length;
txtbox.SelectionLength = 0;

WPFについては、 この質問 を参照してください。

98
Panu Oksala

複数のオプションがあります:

txtBox.Focus();
txtBox.SelectionStart = txtBox.Text.Length;

OR

txtBox.Focus();
txtBox.CaretIndex = txtBox.Text.Length;

OR

txtBox.Focus();
txtBox.Select(txtBox.Text.Length, 0);
63
Vishal Suthar

TextBox.CaretIndex を使用してキャレットの位置を設定できます。必要なのがカーソルを最後に設定することだけである場合、単に文字列の長さを渡すことができます、例えば:

txtBox.CaretIndex=txtBox.Text.Length;

キャレットインデックスを長さ1ではなく長さに設定する必要があります。これにより、キャレットが最後の文字の前に配置されるためです。

9

以下のように試してください...それはあなたを助けます...

Window Form Focus()の一部の時間が正しく機能しません。したがって、Select()を使用してテキストボックスにフォーカスを合わせることができます。

txtbox.Select(); // to Set Focus
txtbox.Select(txtbox.Text.Length, 0); //to set cursor at the end of textbox
1
Pandian