0

ユーザーが RichTextBox 内のテキストで最後に行った変更を知るにはどうすればよいですか? 機能はありますか?または、関数を構築する必要がありますか?

4

3 に答える 3

1

テキストボックスにイベントを追加します。テキストボックスを選択し、プロパティに移動すると、イベントタブにさまざまなイベントが表示されます。TextChanged イベントを見つけます。そのイベントをコードに追加します。

この関数は、テキストボックスが変更されるたびにトリガーされます。その関数にロジックを記述できます。

于 2013-03-27T12:18:32.077 に答える
0

eventと呼ばれるを提供しますTextChanged。を定義しEventHandler、テキストが変更されたときに何が起こるかを指定する必要があります。

例えば:

private void rtb_TextChanged(object sender, EventArgs e)
{
    char c = rtb.Text.ElementAt(rtb.Text.Length);
    if(c == mystring.ElementAt(mystring.Length))
      //is equal
    mystring = rtb.Text; //save string for next comparison
}

そして今、イベントハンドラを次のようにイベントに追加する必要があります

rtb.TextChanged += rtb_TextChanged;

ドキュメントについては、こちらを参照してください。

于 2013-03-27T12:15:10.050 に答える
0

UpdatedChartextbox1 に新しく追加された文字が含まれます

OldValuetextbox1 には常に古い値が含まれます

あなたの例から:私のテキストが「テキスト」で、8をクリックすると、テキストは「Text8」になり、文字は8になります。

UpdatedChar=8 および OldValue= テキスト

    public string OldValue = string.Empty;

    public char UpdateChar;

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        var newText = sender as TextBox;

        foreach (var val in newText.Text)
        {
            if(!OldValue.ToCharArray().Contains(val))
                UpdateChar = val;
        }

        OldValue = newText.Text;
    }
于 2013-03-27T12:34:53.033 に答える