代码之家  ›  专栏  ›  技术社区  ›  santBart

RichTextBox更改颜色的文本

  •  0
  • santBart  · 技术社区  · 12 年前

    我有RichTextBox控件,其中输入了一些BASIC TEXT。我希望自定义它,当用户输入或粘贴一些文本时,它的字体颜色将与BASIC text不同。

    我在KeyDown事件中更改了SelectionBackColor属性,但当用户试图只复制BASIC TEXT的一部分时也会发生这种情况。

     private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
        {
            RichTextBox richTextBox1 = sender as RichTextBox;
            richTextBox1.SelectionBackColor = Color.LightCoral;
        }
    
    3 回复  |  直到 12 年前
        1
  •  0
  •   bluish dmajkic    11 年前

    而不是 KeyDown 使用 TextChanged 事件:

    private void richTextBox1_TextChanged(object sender, EventArgs e)
    {
        RichTextBox richTextBox1 = sender as RichTextBox;
        richTextBox1.SelectionBackColor = Color.LightCoral;
    }
    
        2
  •  0
  •   Ali Vojdanian    12 年前

    试试这个:

    private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Control && e.KeyCode == Keys.V)
            {
                richTextBox1.SelectionBackColor = Color.LightCoral;
    
            }
            else
            {
                richTextBox1.SelectionBackColor = Color.White;
            }
        }
    
        3
  •  0
  •   bluish dmajkic    11 年前
    private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Control && e.KeyCode == Keys.V)
        {
            richTextBox1.SelectionBackColor = Color.LightCoral;
    
        }
        else
        {
            richTextBox1.SelectionBackColor = Color.White;
        }
    }