2012-01-27 14 views
8

SetTextメソッドを使用して改行を追加するにはどうすればよいですか?クリップボードを使用した改行SetText

私はClipboard.SetText("eee \n xxxx");を試しましたが、メモ帳にクリップボードのデータを貼り付けると、期待通りの結果が得られません。

期待される結果:

eee 
xxxx 

がどのように私はこれを達成することができますか?

+1

それはあなたに何を与えるのですか? – gdoron

+0

何か:eee(正方形の文字)xxxx – yonan2236

答えて

9

Windowsは、新しい行を示すために、CR + LFのペアを使用しています。これはC#の"\r\n"に相当します。ただし、"\n"、つまりCR + LFペアではなく1つのLFを送信するだけです。

"\n"ではなくEnvironment.NewLineを使用してください。これは、C#の"\r\n"を綴る愚かな方法です。ボーナスとして、* nixプラットフォームでコードを実行した場合、Environment.NewLineは* nixの改行インジケータである "\ n"と評価されます。最後に、私の見解では、可読性の観点から、Environment.NewLineが好ましい。それは、魔法の定数を知っていることに頼るのではなく、論理的にこのことを記録しています。

+0

私のための新しい知識。この情報のおかげで。 – yonan2236

+0

こんにちはデイヴィッド、私はこの種の略語やそれに類するものの参照はどこで見つけることができますか? – yonan2236

+0

私はこのような有用な知識の単一のリストがあるとは思わない。あなたは一緒に行くと、このものを選ぶだけです。より高いレベルの言語は、この詳細すべてからあなたを守る良い仕事をしますが、今はいつもそれを実行します。 –

4

試してみてください。

Clipboard.SetText("eee" + Environment.NewLine + "xxxx"); 
+0

これはそれです...ありがとう:) – yonan2236

1

私は、これは同様に良い作品が見つかりました:

System.Windows.Forms.Clipboard.SetText(this.txtCopyJS.Text.Replace("\n", "\r\n")); 
+0

これは、C++文字列を扱うときに特に便利です。 –

0

私はこれは少し遅れている知っている...しかし、私は、多くの場合、メモリとパフォーマンスの理由からStringBuilderを使用し、それは非常に便利なAppendLine()方法があります。

関連する問題