如何改变windows窗体中点击按钮时文字的颜色?

问题描述 投票:0回答:1

当我点击一个带有单词的按钮时,例如 "cat",我想让这个单词在richTextBox1中变成红色。当然我做错了,但我想学习如何改变它。

  private void btn1(object sender, EventArgs e)
    {
        Button button = sender as Button;
        string wordToColor = button.Text;
        ChangeColorOfText(richTextBox1, wordToColor);
    }

    private void ChangeColorOfText(RichTextBox richTextBox1, string word)
    {
        ColorDialog colorDialog1 = new ColorDialog();
        colorDialog1.Red = richTextBox1.SelectionColor;
        int index;
        do
        {
            index = richTextBox1.Find(word);
            if (index >= 0)
            {
                richTextBox1.Select(index, word.Length);
                richTextBox1.SelectionColor = ColorDialog.Red;
            }
        }
        while (index >= 0);
    }
c# winforms
1个回答
0
投票

我有一些东西,可能是一个解决方案,你。

  1. 这对我来说是个问题,但不是必须的。
        private void button1_Click(object sender, EventArgs e)
        { 
            //Your code for finding and selecting your text
            if (!String.IsNullOrEmpty(myRichTextBox.Text))
            {
                //Your code for selecting your text
                myRichTextBox.SelectionStart = 0;
                myRichTextBox.SelectionLength = myRichTextBox.Text.Length;
            }

            myRichTextBox.SelectionFont = new Font("Verdana", 12, FontStyle.Bold);
            myRichTextBox.SelectionColor = Color.Red;
        }

我想你的问题是在设置颜色之前没有设置字体。

(当我添加了这一行 myRichTextBox.SelectionFont = new Font("Verdana", 12, FontStyle.Bold); 一切正常)

  1. 我在代码中做的第二件事是用

myRichTextBox.SelectionColor = Color.Red;

不在

richTextBox1.SelectionColor = ColorDialog.Red;

它更容易,更有效率。

  1. 在生产线上

private void ChangeColorOfText(RichTextBox richTextBox1, string word)

你不需要加上 RichTextBox richTextBox1 元素。(没有它我也能正常工作)。


0
投票

我删除了 ColorDialog colorDialog1 = new ColorDialog(); colorDialog1.Red = richTextBox1.SelectionColor; 并改变了 richTextBox1.SelectionColor = ColorDialog.Red; torichTextBox1.SelectionColor = Color.Red;我以为这样就可以了,但就在我在文本框中写下按钮中的同一个字,然后点击按钮时,表单就冻结了。

© www.soinside.com 2019 - 2024. All rights reserved.