8

TextBoxで記述された最新のcharを取得する方法を知りたいです。文字列の最後を意味するものではありません。たとえば、私はこれを書きます:

このiaテスト。

しかし、「s」を忘れたので、指を「i」に移動し、「s」を追加します。

これはテストです。

では、どうすれば「s」を取得できますか?

文字または文字列で取得したいのですが、方法がわかりません...

はっきりしているといいのですが。

4

4 に答える 4

8

最後に書き込まれた文字を取得する場合は、TextBoxKeyDownイベントにサブスクライブします。

C#:

textBox.KeyDown += textBox_KeyDown;

XAML:

<TextBox x:Name="textBox" KeyDown="textBox_KeyDown" />

それで:

private void textBox_KeyDown(object sender, KeyEventArgs e)
{
    /* e.Key contains the keyboard key associated with the event. */
}

最後に書かれた文字のインデックスを取得したい場合、これはより複雑です。解決策の1つは、でマウスの位置とカーソルを追跡することTextBoxです。

于 2013-02-18T15:07:25.647 に答える
4

yBeeの答えはほぼ正しいですが、少なくともWindows Phone 8では、イベントが呼び出されるKeyDownのではなく、呼び出される点が異なります。KeyPress

于 2013-02-18T15:14:15.050 に答える
0

このコードを使用して、テキストボックスに挿入された最後の文字を取得します

 private void Textbox1_KeyDown(object sender, KeyEventArgs e)
            {
                lastchar_inserted = e.KeyValue.ToString(); // global string variable
            }
于 2014-02-04T22:37:26.127 に答える
0

見てください、それは役立つかもしれません。テキストの最後の文字を取得するには、別の提案として、

"\n"nameTextbox.Append("\n")

その後、

int lineCount = nameTextbox.Lines.Count();

そして最後に、メソッドを使用します

nameTextbox.GetFirstCharIndexFromLine(lineCount)

最後の文字のインデックスとして(index-1)(または、何であれ、注意して小さなテキストでテストしてください)がある場合があります。

于 2015-03-11T04:52:12.287 に答える