我有一個帶有RichTextBox的Windows窗體。 RichTextBox的內容被寫入數據庫字段,該字段限制爲64k數據。 對於我來說,這是足夠的文本存儲的方式。Windows.Forms RichTextBox控件 - 避免插入大數據
我設置了MaxLength屬性以避免插入比允許的數據更多的數據。
rtcControl.MaxLength = 65536
只是限制允許放在文本中的字符數量。 但是從Rtf的格式開銷我可以鍵入更多的文本比我應該被允許。如果我插入一個大圖像,它甚至會變得更糟,它不會增加TextLength,但是Rtf長度增長很多。
此刻,我檢查FormClosing事件中的richttextboxes的Rtf屬性的長度,並向用戶顯示一條消息,如果它很大。 但是,這只是一個解決方法,因爲我想禁止將更多的數據放入控件中(比如在文本框中,如果超過MaxLength屬性,則不會在控件中插入任何東西,並且聽到默認蜂鳴聲()。任何想法如何實現這一目標
我已經嘗試過:。用它擴展了RichTextBox的和陰影日RTF財產攔截insertation自定義控件
但似乎不執行它,如果我添加文本。
即使我輸入了smth,TextChanged事件也不會觸發。在控制中。
我還沒有嘗試過,但爲什麼你在這種情況下使用一個stringbuilder?與字符串相比,我獲得了更好的性能嗎? – 2010-04-15 16:27:53
@SchlaWiener - 是的,這個字符串可能會更好。最初我正在考慮使用StringBuilder來追加新的RTF,但放棄了這個想法,轉而採用更簡單的「複製所有」方法。 – itsmatt 2010-04-15 16:37:33