1

ユーザーがデータを入力して定型書簡を作成し、それをクリップボードにコピーするプログラムがあります

一部のユーザーは戻ってきて、手紙の一部に下線を付けて、送信者が読みやすくすることを希望していると述べました (見出しなど)。

何かに下線を引く方法がわかりません

現在使っている

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

ここで、sb は文字列ビルダーです

何かを下線付きでマークする方法について何か考えはありますか?

4

3 に答える 3

2

HTML の代替として RTF を検討することをお勧めします。RTF の方がサポートが優れていることが多く、HTML の MS Word の恐ろしい解釈よりも適切なテキスト ドキュメントになる可能性が高いためです。また、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);

RTFの仕様は、Microsoft から入手できます

于 2009-08-13T16:20:00.123 に答える
1

ユーザーが HTML を認識するプログラム (Microsoft Word など) に貼り付けていると仮定すると、次のことができます。

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

これにより、クリップボード バッファにコピーされるテキスト スニペット全体に下線が引かれます。

于 2009-08-13T15:51:41.780 に答える
-2

彼らはこのデータをどこに貼り付けていますか? コードはクライアントまたは Web アプリケーションですか?

WYSIWYG コントロールまたは RichTextBox を追加することをお勧めします。これにより、ユーザーはカット アンド ペーストの前にプログラムで書式設定を行うことができます。

于 2009-08-13T15:57:00.993 に答える