2013-01-15 94 views
1

當我更改RichtextBox中的Rtf屬性時,它會自動格式化它。我想避免這種情況,因爲它會從顏色,字體和其他表中刪除項目。RichtextBox禁用自動格式化Rtf

"\b\b" -> "\b" 
"\cf1 hello \cf3 world" -> color #2 in the color-table is getting deleted 
//so that cf3 doesn't make any sense anymore 

我可以禁用此「自動格式化」嗎?

+0

我會毫不猶豫地這樣做 - 你最終打擊RTF控制。你在做什麼,需要手動更改顏色表? – LarsTech

+0

使用RichTextBox的Text屬性獲取純文本。將此 文本放入Rtf屬性應該可以取消任何格式化。還可以查看http://stackoverflow.com/questions/1245758/removing-richtext-formatting-from-richtextbox-in-visual-c-sharp – ridoy

+0

@LarsTech我正在給我可能需要的顏色表顏色。但是,如果我不使用它們,rtf控制會刪除它們,並將cf3顏色設置爲cf2,然後整個顏色將錯誤地着色,因爲cf3仍位於rtf代碼 – Bitterblue

回答

1

RTF控制被設計爲通過SelectionStartSelectionLength屬性來操縱,隨後是rtf屬性,例如SelectionColor = yada-yada-yada。要操縱RTF數據需要解析RTF字符串屬性,而且很難正確識別rtf控制字符和rtf文本,同時保持字體和顏色索引同步。

您的問題的答案是否定的,您不能禁用從控件中自動生成rtf代碼。