2012-12-14 25 views
0

我正在製作一款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是白色& & 0this是黑色的,但我想這可能只是過度複雜的事情。)

目前,輸入框是一個簡單的文本框。當你按下Enter時,什麼都不會發生。我想輸入以清除文本框並輸出一個我可以使用的字符串(不一定添加到富文本框中)。

+0

過了一段時間,因爲我試過..但我敢肯定你可以在追加文本前設置SelectionColor,它會採用這種顏色。然後你只需將它切換回來。 –

+0

試過了什麼? – rae1

+0

@ rae1n他已經提供了他已經嘗試過的東西......甚至似乎已經調試了他的問題..你還想要什麼? –

回答

3

我在我的評論中假設的是真的,只是測試它。改變你的代碼:

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

當我有機會時,我會檢查一下。你知道我能做些什麼來激活[Enter]上的輸入框嗎? – CrimsonDeath

+0

這是每個WinForms教程中的教程#4。我建議搜索:) –

+1

直接的答案將是最有幫助的。 :/ – CrimsonDeath

相關問題