2012-09-14 112 views
-3

我正在使用windows窗体。在我的项目中,我需要着色富文本框的最后一个字。当有人在应用程序的给定文本框上写字时,我需要将刚刚写在richtextbox上的最后一个单词用红色或其他字体表示。如何提取richtextbox中的最后一个单词在c#

我找到了一种方法来从以下链接

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

提取硬道理但我需要更加得心应手代码,如果其能够提取出的最后一个字。请帮忙。

+3

更方便????? –

+2

您提供的代码看起来非常简单。 – zmbq

+1

你有没有试过这个代码?看起来不错。有什么需要改进呢? – Adam

回答

1

下面是示例代码

*>炭[] ARR =新的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++; 
    } 
    }* 

这是你将如何能够提取最新的字。现在给自己涂上你喜欢的单词。

2

好吧,如果你真的只是希望得到的最后一个字,你可以做这样的事情......当然假设,你让一个字符串等于你的富文本框的文本。

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

然后只是返回字符串,并做你需要做的。

+0

这不会帮助他颜色的字,如果最后一个字是在自己的段落也将无法正常工作。 – zmbq

+0

请问这个有什么用C# – 2015-02-27 19:48:27

-1

正如我记得富文本框可以呈现文本为HTML。
只需在字体标签中包装最后一个单词即可。

+0

提取物中的最后一个字是个问题,而不是如何颜色的字了丰富的文本框 – 2015-02-27 19:48:54

相关问题