-3

Windowsフォームを使用しています。私のプロジェクトでは、リッチテキストボックスの最後の単語に色を付ける必要があります。誰かがアプリケーションの特定のテキストボックスに書き込むとき、リッチテキストボックスに書き込まれた最後の単語を赤などに色付けする必要があります。

次のリンクから最後の単語を抽出する方法を見つけました

http://msdn.microsoft.com/en-us/library/system.windows.documents.textselection.select%28v=vs.95%29.aspx

しかし、可能であれば、最後の単語を抽出するためのより便利なコードが必要です。助けてください。

4

3 に答える 3

2

さて、あなたが本当に最後の単語を取得しようとしているなら、あなたはこのようなことをすることができます...もちろん、あなたがあなたのリッチテキストボックスのテキストと等しい文字列を作ると仮定します。

string str="hello, how are you doing?";
if (str.Length >0)
{
    int index=str.LastIndexOf(" ") + 1;
    str = str.Substring(index));
}

次に、文字列を返すだけで、必要な処理を実行できます。

于 2012-09-14T20:57:06.467 に答える
1

これがサンプルコードです

*> char [] arr = new char [50];

      int i = 0;
    private void richTextBox1_KeyUp(object sender, KeyEventArgs e)
     {
    if (e.KeyCode == Keys.Space)            {
        string str = new string(arr); 
        MessageBox.Show(str);
        Array.Clear(arr, 0, arr.Length);
        i = 0;
    }
    else if (e.KeyCode == Keys.Back)
       {
        i--;
        if (i < 0)
        {
            i = 0;
        }
        arr[i] = ' ';


    }

    else
    {
        arr[i] = (char)e.KeyValue;

        i++;
    }
    }*

これにより、最新の単語を抽出できるようになります。今、あなたが好きな言葉を自分で着色してください。

于 2012-09-14T22:42:50.773 に答える
-1

私が覚えているように、リッチテキストボックスはテキストをHTMLとしてレンダリングできます。
最後の単語をフォントタグでラップするだけで、それだけです。

于 2012-09-14T23:58:22.760 に答える