【问题标题】:How to extract last word in richtextbox in c#如何在c#中提取richtextbox中的最后一个单词
【发布时间】:2012-09-08 00:53:24
【问题描述】:

我正在使用 Windows 窗体。在我的项目中,我需要为富文本框的最后一个单词着色。当有人在应用程序的给定文本框上写字时,我需要将刚刚写在richtextbox 上的最后一个字涂成红色或其他颜色。

我找到了从以下链接中提取最后一个单词的方法

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

但如果可能的话,我需要更方便的代码来提取最后一个单词。请帮忙。

【问题讨论】:

  • 您提供的代码看起来很简单。
  • 你试过那个代码吗?看起来不错。有什么需要改进的地方?

标签: c# word richtextbox extract


【解决方案1】:

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

【讨论】:

  • 提取最后一个单词是问题,而不是如何为单词着色
【解决方案2】:

这里是示例代码

*> 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++;
    }
    }*

这就是您提取最新单词的方法。现在给自己涂上你喜欢的词。

【讨论】:

    【解决方案3】:

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

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

    然后只返回字符串,然后用它做你需要做的事情。

    【讨论】:

    • 这不会帮助他为那个词着色,如果最后一个词在它自己的段落中也不会起作用。
    • 这和c#中的富文本框有什么关系
    猜你喜欢
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多