首页 > 解决方案 > 如何更改richtextbox中2个字符之间的颜色?

问题描述

如何更改richtextbox中2个字符之间的颜色?

我写了这样的代码,但这次它没有得到最后一个字符。

        if (e.KeyChar=='"')
        {
            if (richTextBox1.SelectionColor==Color.Black)
            {
                richTextBox1.SelectionColor = Color.Red;
            }
            else if (richTextBox1.SelectionColor == Color.Red)
            {
                richTextBox1.SelectionColor = Color.Black;
            }
        }

输出:“Hello World ” 我得到这样的结果。

谢谢

标签: c#winformsrichtextbox

解决方案


您的问题不清楚,但我试图理解您正在尝试在 richtextbox 值 2 by 2 中赋予颜色。

并且您在richTextBox1_KeyDown 中编写了代码

尝试在下面编写代码并更改颜色以查看会发生什么。

private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        char ss = e.KeyChar; //you can do what you want with this value in your case then 
        if (richTextBox1.TextLength > 0)
        {
            if (richTextBox1.TextLength % 2 == 0)
            {
                if (richTextBox1.SelectionColor == Color.Black)
                {
                    richTextBox1.SelectionColor = Color.Red;
                }
                else if (richTextBox1.SelectionColor == Color.Red)
                {
                    richTextBox1.SelectionColor = Color.Black;
                }
            }

        }
    }

推荐阅读