ユーザーがデータを入力して定型書簡を作成し、それをクリップボードにコピーするプログラムがあります
一部のユーザーは戻ってきて、手紙の一部に下線を付けて、送信者が読みやすくすることを希望していると述べました (見出しなど)。
何かに下線を引く方法がわかりません
現在使っている
Clipboard.SetDataObject(sb.ToString(), true);
ここで、sb は文字列ビルダーです
何かを下線付きでマークする方法について何か考えはありますか?
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);
ユーザーが HTML を認識するプログラム (Microsoft Word など) に貼り付けていると仮定すると、次のことができます。
string underlinedText = "<span style=\"text-decoration: underline;\">" +
sb.ToString() + "</span>";
Clipboard.SetDataObject(underlinedText, true);
これにより、クリップボード バッファにコピーされるテキスト スニペット全体に下線が引かれます。
彼らはこのデータをどこに貼り付けていますか? コードはクライアントまたは Web アプリケーションですか?
WYSIWYG コントロールまたは RichTextBox を追加することをお勧めします。これにより、ユーザーはカット アンド ペーストの前にプログラムで書式設定を行うことができます。