使用剪贴板SetText进行换行

时间:2012-01-27 12:22:25

标签: c#

如何使用SetText方法添加换行符?

我尝试Clipboard.SetText("eee \n xxxx");但是当我将剪贴板数据粘贴到记事本中时,它没有给我预期的结果。

预期结果:

eee
xxxx

我怎样才能做到这一点?

4 个答案:

答案 0 :(得分:11)

Windows使用CR + LF对来表示新行。这相当于C#中的"\r\n"。但是,您只是发送"\n",即单个LF而不是CR + LF对。

使用Environment.NewLine而不是"\n"。这是在C#中拼写"\r\n"的惯用方式。作为奖励,如果您在* nix平台上运行代码,Environment.NewLine将评估为“\ n”,这是* nix新行指示符。最后,在我看来Environment.NewLine从可读性的角度来看是可取的。它记录了这个东西的逻辑,而不是依赖于你知道神奇的常数。

答案 1 :(得分:5)

尝试:

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

答案 2 :(得分:1)

我发现这也很好用:

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

答案 3 :(得分:0)

我知道这有点晚了......但我经常使用StringBuilder来表示内存和性能,并且它有一个非常方便的AppendLine()方法。

相关问题