按Enter键时更改富文本框的颜色并向其添加文本

时间:2012-12-14 02:40:55

标签: c#

我正在制作一款RPG风格的基于文字的游戏。目前它位于控制台应用程序中,但我宁愿将其移动到Windows窗体应用程序,以获得一些额外的功能和功能。这带来了一些问题。

颜色区分消息类型,因此颜色很重要。我在另一个问题上找到了这个:

int length = richTextBox.TextLength;  // at end of text
richTextBox.AppendText(mystring);
richTextBox.SelectionStart = length;
richTextBox.SelectionLength = mystring.Length;
richTextBox.SelectionColor = Color.Red;

这似乎是在文字后添加颜色。有没有更好的方法去颜色?另外,如果我想在一条线上有多种不同的颜色怎么办?这使事情变得复杂。 (最好是我可以使用颜色代码来指定字符串本身的颜色,例如&& 4这是红色&& fthis是白色&& 0这是黑色的,但我想这可能只是过于复杂的事情。)

目前,输入框是一个简单的文本框。当您按Enter键时,没有任何反应。我想要输入清除文本框并输出我可以使用的字符串(不一定要添加到富文本框)。

1 个答案:

答案 0 :(得分:3)

我在评论中假设的是真实的,只是测试了它。将您的代码更改为:

Color prevColor = richTextBox.SelectionColor;
richTextBox.SelectionColor = Color.Red;
richTextBox.AppendText(mystring);
richTextBox.SelectionColor = prevColor;