2

イベントに参加すると、変更のテキストと新しいキャラクターにOnPreviewTextInputアクセスできます。入力が変更されていない場合に全文がどのように表示されるかを教えてくれるプロパティはありますか?

入力を境界内の数値に制限しています。したがって、現在の入力が何であるかはあまり気にしません。入力後の数値が境界に違反しているかどうかを確認するために、整数がどのように見えるかは、私にとってより興味深いことです (= 違法であり、処理できません)。

4

1 に答える 1

0

実際には、ユーザーが新しい数字を入力する前にマウスでテキストを選択した場合、提案されたコードは失敗します。新しい数字を挿入するだけでは十分ではなく、最初に強調表示されたテキストを削除する必要があります。

ここに画像の説明を入力

9 を入力すると 12945 になります。ただし、Text.Insert(CaretIndex, e.Text) は 129345 を返します。正しいコードは次のようになります。

Text.Remove(CaretIndex, SelectionLength).Insert(CaretIndex, e.Text)

またはC#8で

Text[..CaretIndex] + e.Text + Text[(CaretIndex + SelectionLength)..]
于 2020-02-11T03:56:25.573 に答える