2013-10-08 42 views
3

我是新來的c#,我試圖從剪貼板讀取所選文本的前景色。讓我在背景上點亮一些。 我有一個windows窗體的textarea。當用戶輸入一些文本時,前3個字符是黑色的,後3個是紅色的。現在我使用ranorex從窗體中拉出或讀取對象並獲取它們的屬性。我可以閱讀文本框中的文本內容,但是我想檢查前三個字符是黑色的,而後面的三個字符是紅色的。 例如:如果文本框中包含文字「welcom」,那麼「wel」將是黑色的,「com」應該是紅色的。是否可以從剪貼板讀取對象屬性

我以爲我可以保存到剪貼板,並嘗試從那裏讀取元素的顏色,但如果我錯了,請糾正我。

只是爲了澄清:我還必須提到,我試圖從[JMTATextPane或JTextPane]的文本區域中讀取文本,而不是從Rich文本框中讀取文本。

+0

假設複製的文本來自RTF,您需要檢索文本,將其放在RTF控件中然後執行解析(或創建自己的RTF解析器,btu可能是矯枉過正)。 這是假設它實際上也在複製格式。 –

+0

你可以看看'Clipboard'類,不過你可以當它從最初文本複製,以節省您自己的數據。 http://msdn.microsoft.com/en-us/library/System.Windows.Forms.Clipboard.aspx – mao47

回答

0

我推斷你的TextBox是一個RichTextBox,對嗎?因此,您可以將文本框的完整內容保存到剪貼板(如Clipboard.SetData(..,..))。

如果您想檢查顏色,只需選擇前三個字母並檢查顏色。

richTextBox.Select(0,3); 
Color color = richTextBox.SelectionColor; 
// Do your checking stuff here 
+0

我還必須提到,我想讀從[JMTATextPane或JTextPane的]的文字框中的內容,而不是從一個富文本框。 – user2859085