如何将多行文本框的内容复制到C#中的剪贴板?

时间:2013-01-04 05:13:31

标签: c# .net clipboard copy-paste

我在Multiline文本框中有来自数据库的文本,如何将其复制到剪贴板,以便用户可以将其粘贴到另一个窗口或文件中(例如从我的应用程序粘贴到另一个文本框)?如果可能,或者到记事本/ word文件。

4 个答案:

答案 0 :(得分:13)

Clipboard.Clear();    //Clear if any old value is there in Clipboard        
Clipboard.SetText("abc"); //Copy text to Clipboard
string strClip = Clipboard.GetText(); //Get text from Clipboard

答案 1 :(得分:2)

使用TextBox(当然还有Clipboard.SetText())将单个或多行Clipboard.GetText()的文字复制到剪贴板或从剪贴板复制文本没有区别。 TextBox仍然包含一个String,无论它是否包含换行符。那只是眼睛糖果。

从限制的角度来看,您的ClipBoard.SetText()方法也始终只接受一个字符串,其大小仅限于该给定时间的可用内存量。

无需特殊代码即可将此文本手动粘贴到记事本或Word等应用程序中。

Clipboard.SetText(yourTextBox.Text);就是你所需要的。

答案 2 :(得分:1)

为了在文本中保存行,您应该将“\ n”替换为NewLine字符,例如:

 string textforClipboard = TextBox1.Text.Replace("\n", Environment.NewLine);
 Clipboard.Clear();
 Clipboard.SetText(textforClipboard);

答案 3 :(得分:0)