2012-06-04 68 views
1

我有一個筆記程序,用於在工作時記錄案例,但是當我複製並粘貼來自其他窗口的數據時,它將其粘貼到網站的格式化中。是否有一個富文本框(通常是文本框)的設置,用於刪除任何格式並僅將文本放入文本框中?如果不行,我必須使用一種方法來查看剪貼板的內容,並將字符串發送到特定的字體/大小等。如何自動格式化粘貼到富文本框中的文本?

+0

你可以寫你自己的方法,並讓它可能是雙擊事件。或者你甚至可以做'Ctrl + V'組合按鍵事件。 RTB沒有設置刪除格式。當你說格式化時,你的意思是什麼? – Botonomous

+0

我的意思是,當你在網站上覆制一些大而粗體的字母,然後將其粘貼到表單中仍然有大的粗體字母時,我希望它是一個標準文本,而不是粗體和粗體。聽起來就像我將不得不作出格式化的方法。 –

+0

像Magnus下面說的那樣,將捕獲剪貼板保存爲字符串或Var,然後將該字符串移至您的richtextbox。這應該工作。 - 現在測試 - – Botonomous

回答

1

您應該能夠通過指定TextDataFormat獲得格式化字符串,並將其設置爲Text

var stringToPasteIn = Clipboard.GetText(TextDataFormat.Text); 

或者讓RichTextBox爲你做它自動地使用其DataFormats選項:

DataFormats.Format myFormat = DataFormats.GetFormat(DataFormats.Text); 
richTextBox1.Paste(myFormat); 
+0

這會工作,但我認爲更難的問題是檢測粘貼發生的時間。看到這篇文章,以幫助你:http://stackoverflow.com/questions/5618162/detecting-if-paste-event-occurred-inside-a-rich-text-box –

+0

我不認爲他需要檢測當粘貼發生時。或者,OP可以簡單地在粘貼發生時進行控制;如在richtextbox雙擊事件等...這就是我會推薦。 – Botonomous