2009-08-13 32 views
1

我有用戶輸入一些數據的程序,然後它會創建一個表單信copys它有剪貼板到剪貼板是傳輸帶下劃線的文字

一些用戶回來說,他們希望某些部分信中必須強調,以幫助他們發送它的人讀它更容易(標題等)

我不知道的方式來標記的東西作爲目前使用

Clipboard.SetDataObject(sb.ToString(), true); 
強調

IM

其中sb是一個字符串生成器

任何想法如何標記下劃線的東西?

回答

1

假設你的用戶都粘貼到識別HTML(如Microsoft Word)的程序,你可以這樣做:

string underlinedText = "<span style=\"text-decoration: underline;\">" + 
          sb.ToString() + "</span>"; 
Clipboard.SetDataObject(underlinedText, true); 

這強調的是被複制到剪貼板緩衝整個文本片段。

+0

文字修飾:,不是; – 2009-08-13 15:54:00

+0

謝謝。固定。 :)需要 – 2009-08-13 16:00:04

-2

他們在哪裏粘貼此數據爲?您的代碼是客戶端還是Web應用程序?

我建議增加一個所見即所得的控制或RichTextBox的。這可以讓用戶在剪切和粘貼之前在程序中進行格式設置。

+0

更多細節給一個合適的回答 – 2009-08-13 18:02:42

2

你可能要考慮RTF作爲替代HTML,因爲它是老年人往往有更好的支持,更可能有適當的文本文檔,而不是MS字HTML的可怕解釋告終。你也會發現RTF支持分頁符,而HTML不支持。但是要注意RTF中的標記有點奇怪。例如:

Clipboard.SetText(@"{\rtf1\ansi\ansicpg1252\deff0\deflang2057{\fonttbl{\f0\fswiss\fcharset0 Arial;}}\viewkind4\uc1\pard\f0\fs20 text \ul text\ulnone text\par}", TextDataFormat.Rtf); 

specification for RTF可以發現從微軟here obtainied。

+0

你認爲這會在Outlook中的工作? – Crash893 2009-08-15 13:50:55

+0

如果你的意思是複製到C#剪貼板,然後粘貼在Outlook然後是的。經過思考,當我說我另類應該把除了爲更多的格式加載剪貼板了更可能的目的地是找到一個它喜歡。 – 2009-08-16 20:55:56