2

テキストをクリップボードにコピーする際に奇妙な問題があります。書式を追加してテキストボックスからテキストをコピーしたい。そのために、テキスト ボックスの KeyDown イベントをインターセプトし、CTRL キーと C キーが押されているかどうかを確認します。それから私はそのようにします

 string extraFormatedText = formatText(txtBox.Text);
 Clipboard.SetText(extraFormatedText, TextDataFormat.Text);

関数 formatText は、テキストにいくつかの空の追加行を追加します。ただし、このテキストをメモ帳に貼り付けても、追加の書式設定はありません。何故ですか ??

関数を呼び出すClipboard.GetText()と、返された文字列に余分な文字 ( \n \r) があることがはっきりとわかります。

4

2 に答える 2

1

新しい行を挿入するために \n だけを追加している場合、メモ帳は \r\n を改行として想定しているため、それを認識しません。テキストを Notepad++ に貼り付けてみると、改行が実際にあることがわかります。

Environment.NewLine を使用する方が安全です。これは、Windows では正確に \r\n を返します。

于 2011-04-29T03:16:53.487 に答える
1

\r\n改行と改行(改行) 文字を表します。

メソッドformatTextは、これらを文字列の末尾に追加する必要があります。

また、メモ帳プログラムには太字や斜体などの書式設定機能はなく、選択したフォント、サイズ、スタイルですべてを表示するだけです。

于 2011-02-14T22:03:32.303 に答える