【问题标题】:Changing color of a rich text box and adding text to it when pressing enter更改富文本框的颜色并在按 Enter 时向其中添加文本
【发布时间】:2012-12-14 02:40:55
【问题描述】:

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

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

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

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

目前,输入框是一个简单的文本框。当你按下回车键时,什么也没有发生。我想输入以清除文本框并输出一个我可以使用的字符串(不一定要添加到富文本框中)。

【问题讨论】:

  • 我已经有一段时间没有尝试过了.. 但我很确定你可以在附加文本之前设置SelectionColor,它会采用那种颜色。然后你再把它切换回来..
  • @rae1n 他提供了一些他尝试过的东西.. 甚至似乎已经调试了他的问题.. 你还想要什么?
  • @SimonWhitehead 看来他提供的代码不是他的。
  • 显然不是。这并不重要。

标签: c#


【解决方案1】:

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

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

【讨论】:

  • 有机会我会去看看。你知道我可以做什么来激活[Enter]上的输入框吗?
  • 这是每个 WinForms 教程的教程 #4。我建议搜索:)
  • 一个直接的答案将是最有帮助的。 ://
  • 我们致力于确保人们不仅能收到答案,还能学习。否则有一天我们可能最终会与你合作......而你不知道这个行业:) 此外,这里有 600 多个答案可以回答这个特定问题。
  • 问题是,我不知道要搜索什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-22
  • 1970-01-01
  • 2010-12-13
相关资源
最近更新 更多