使用剪贴板SetText换行

本文关键字:换行 SetText 剪贴板 | 更新日期: 2023-09-27 18:21:31

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

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

预期结果:

eee
xxxx

我怎样才能做到这一点?

使用剪贴板SetText换行

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()方法。