在RichTextBox中改变字符串的一部分颜色

本文关键字:一部分 颜色 字符串 改变 RichTextBox | 更新日期: 2023-09-27 18:03:13

我有一个完整字符串的RichTextBox。我需要给所有与名字相对应的单词上色,例如Marta, Oscar和Ricardo。我怎样才能做到这一点呢?

这是我到目前为止的代码。它替换字符串并将其放入RichTextBox中:

private void btnFormat_Click(object sender, EventArgs e)
{
    string query_orig = rtxtQuery.Text;
    string qry_reemp_oscar = query_orig.Replace("oscar", "OSCAR");
    string qry_reemp_marta= qry_reemp_coma.Replace("marta", "MARTA");
    string qry_reemp_final = qry_reemp_select.Replace(
        " ricardo ", System.Environment.NewLine + " RICARDO ");
    rtxtQryLinea.Text = qry_reemp_final;
}

在RichTextBox中改变字符串的一部分颜色

你可以试试这个

int pos = rtb.TextLength;
rtb.AppendText(txt);
rtb.Select(pos, txt.Length);
rtb.SelectionColor = col;
rtb.Select();

试试这个

string query_orig = rtxtQuery.Text;
query_orig = query_orig.Replace("oscar", "OSCAR");
query_orig = query_orig.Replace("marta", "MARTA");
query_orig = query_orig.Replace("ricardo ", "RICARDO ");
 rtxtQryLinea.Text = query_orig;
rtxtQryLinea.Select(query_orig.IndexOf("OSCAR"), "OSCAR".Length);
rtxtQryLinea.SelectionColor = Color.Aqua;
rtxtQryLinea.Select(query_orig.IndexOf("MARTA"), "MARTA".Length);
rtxtQryLinea.SelectionColor = Color.Coral;
rtxtQryLinea.Select(query_orig.IndexOf("RICARDO"), "RICARDO".Length);
rtxtQryLinea.SelectionColor = Color.OrangeRed;