控制台般的控制,允许完全控制个别文本格式

问题描述:

我正在编写一个简单的基于文本的角色扮演游戏。我想使用WinForms,并将UI的WinForm控件和简单的文本用于输出。值得注意的是,我想完全控制单个文本的格式 - 有些词语是不同的颜色等等。简单的控制台控制就足够了,因为这样可以控制文本颜色,但也会很好能够改变风格,字体和大小。控制台般的控制,允许完全控制个别文本格式

不那么重要:通过坐标系统可以完全控制文本出现在控件中的位置,这与老的DOS窗口一样。

我很感激有关实现这一点的最佳方法的建议。也许有一个更好的方法,我没有考虑渲染基于文本的游戏的输出。

嗯......也许你可以使用或适应RichTextBoxWebBrowser控制为此目的?

+0

+1 WebBrowser可能会给予最好的*imo – 2010-04-24 17:30:36

+0

这两个听起来像可行的选项。在可滚动的WebBrowser窗口中有过多的HTML标记是否有任何开销?另外一个因素是WB窗口将提供文本内超链接的能力。谢谢! – 2010-04-25 12:45:57

+0

根据我的经验,网页浏览器*通常*在处理大页面的情况下处理大页面,这些页面大多包含文本。一旦将更复杂的元素(如表格和图像)引入显示的页面,渲染可能会显着变慢。我认为你会很好,主要是基于文本的信息。 – stakx 2010-04-25 13:01:19

您可以通过重写OnPaint()方法来完成控制。使用TextRenderer.DrawText()以完全按照你想要的方式得到它。