我有用於編輯XML文本的富文本框 我想要如何爲RichTextBox中的XML標籤名稱着色
我希望標記名稱爲紅色或綠色。
任何方式來做到這一點?.NET中的富文本框中的顏色文本
2
A
回答
0
MSDN創建格式化從一個RichTextBox文本內容簡單的C#功能: LINK
0
退房scintilla,適用於Windows一個不錯的源代碼編輯組件,它支持語法高亮顯示了。還有一個名爲ScintillaNET的.NET包裝器。
0
使用一個簡單的正則表達式找到位置,在每個標籤(開始和結束)和着色它象下面這樣:
richtextbox1.Select(start, end-start);
richtextbox1.SelectionColor = Color.Green;
richtextbox1.Select(start, 0);
1
有其解釋或提出可能的辦法語法着色,例如文章:How To Implement Syntax Highlighting In A WinForms Application
我認爲最好的和最簡單的方法是使用Scintilla.NET來處理,所以你可以專注於真正重要的東西給你,而不是再重新發明輪子:)
2
工作出了什麼你想要的r egex正在使用this page。一旦你有了這個,你可以使用類似下面的方法來更新RichTextBox
public static void HighlightSyntax(RichTextBox richTextBox, Regex yourRegex, Color someColor)
{
richTextBox.BeginUpdate();
int selPos = richTextBox.SelectionStart;
richTextBox.SelectAll();
richTextBox.SelectionColor = normTextColor;
richTextBox.Select(selPos, 0);
// For each match from the regex, highlight the word.
foreach (Match keyWordMatch in yourRegex.Matches(richTextBox.Text))
{
richTextBox.Select(keyWordMatch.Index, keyWordMatch.Length);
richTextBox.SelectionColor = someColor;
richTextBox.Select(selPos, 0);
richTextBox.SelectionColor = normTextColor;
}
richTextBox.EndUpdate();
}
你也可以通過一個定時器設定的時間後自動更新此。
我希望這會有所幫助。
注意。對於大文本文件,這種方法會很慢!在這種情況下,我會採用Sinctilla.NET作爲一個完整的語法突出顯示,如下面的答案之一所述...
0
我認爲對於小型語法高亮項目,滾動自己的!在已經發布的語法編輯器中突出顯示了一些示例。
https://stackoverflow.com/a/13007641/1033686
https://stackoverflow.com/a/13007710/1033686
對於需要更好的高亮較大的項目,使用Scintilla.NET(但是要注意,它有點重,可能會非常棘手得到工作!)
http://scintillanet.codeplex.com/
對於企業項目使用商業產品,如actipro語法編輯器。
相關問題
- 1. 如何在富文本框中保留文本的顏色?
- 2. 如何在富文本框中更改文本部分的高亮顏色?
- 3. Xamarin.Forms中的富文本框
- 4. Android中的富文本框
- 5. 禁用文本框的文本顏色
- 6. 把豐富的文本框在.NET
- 7. javafx文本框的顏色
- 8. 在C#中動態改變文本框中的文本顏色
- 9. 改變富文本框的顏色並在輸入時添加文本
- 10. 如何設置富文本框的背景顏色?
- 11. HTML中文本的顏色
- 12. 文本框文本顏色動畫
- 13. 更改文本框中文本部分的顏色
- 14. 在條件下更改文本框中的文本顏色
- 15. 更改文本框中的選定文本顏色
- 16. ToolStrip文本框顏色
- 17. 改變文本框的邊框顏色
- 18. Silverlight - 富文本框
- 19. .net文本框的默認邊框顏色
- 20. 紅色文本框邊框顏色
- 21. 豐富的文本框
- 22. C#中的靜態富文本框#
- 23. 富文本框的中心部分
- 24. 富文本框中的圖標?
- 25. Crystal Reports中的富文本框
- 26. 如何獲取富文本框字符顏色?
- 27. 在輸入文本的文本框更改邊框顏色
- 28. 更改此文本框的文本更改時文本框的背景顏色?
- 29. 更改文本顏色當在文本框中輸入內容
- 30. 在Java文本框中設置文本顏色
你的意思是你想要一個處理XML格式文檔的語法編輯器嗎? – series0ne