使用剪贴板SetText换行
如何使用SetText方法添加换行符?
我试过Clipboard.SetText("eee \n xxxx");
但是当我将剪贴板数据粘贴到记事本中时,它并没有给我预期的结果。
预期结果:
eee xxxx
我怎么能做到这一点?
Windows使用CR + LF对来表示新行。 这相当于C#中的"\r\n"
。 但是,您只是发送"\n"
,即单个LF而不是CR + LF对。
使用Environment.NewLine
而不是"\n"
。 这是在C#中拼写"\r\n"
的惯用方法。 作为奖励,如果您在* nix平台上运行代码, Environment.NewLine
将评估为“\ n”,这是* nix新行指示符。 最后,在我看来, Environment.NewLine
从可读性的角度来看是可取的。 它记录了这个东西在逻辑上而不是依赖于你知道神奇的常数。
尝试:
Clipboard.SetText("eee" + Environment.NewLine + "xxxx");
我发现这也很好用:
System.Windows.Forms.Clipboard.SetText(this.txtCopyJS.Text.Replace("\n", "\r\n"));
我知道这有点晚了……但我经常使用StringBuilder来获取内存和性能,并且它有一个非常方便的AppendLine()方法。