0

TextBox空間入力を取得したときにテキストを編集する必要があるプログラムがあります。

それで私はそれをしましたが、インジケーターはテキストの先頭に戻りました。これは良い MMI ではありません。

インジケーターの位置を変更せずにテキストを編集する方法があるかどうか、またはインジケーターの位置を設定する方法があるかどうか疑問に思っていましたTextBox

いくつかの方法でテキストを編集しようとしましたが、いずれもインジケーターがテキストの先頭に戻ってしまいます。

インジケーターの位置に影響を与える方法が見つからなかったので、それは不可能だと思いますが、間違っている可能性があります。

助けてください。

4

2 に答える 2

2

これを試して。

int startPosition = textBox1.SelectionStart;
int selectionLength = textBox1.SelectionLength;

//do what ever you need
textBox1.Text = textBox1.Text.ToUpper();

//place cursor back in position
textBox1.Select(startPosition, selectionLength);

それが役に立てば幸い。

于 2013-07-25T11:15:29.723 に答える
1

選択範囲を設定してみてください。これにより、カーソルが 5 番目の位置に設定されますが、何も選択されません。

textBox1.Select(5, 0);

ユーザーに制御を返す前に、これが最後に行われることを確認してください。必要に応じて呼び出しを伴うFocus場合があります。

あなたの場合、その位置がどうあるべきかを追跡する必要もあります...テキストを追加/変更する前に?その後?5その番号に置き換えるだけです。

于 2013-07-25T11:14:56.517 に答える