我想在C#中创建一个控制台应用程序,用户将在其中键入内容,让我们说“Dave”,然后输出“Name:Dave”并将“Name:Dave”复制到用户剪贴板。那么有没有办法让“Name:”+ Console.ReadLine();自动复制到用户剪贴板?
答案 0 :(得分:35)
您需要引用命名空间:
using System.Windows.Forms;
然后你可以使用:
Clipboard.SetText("Whatever you like");
修改强>
这是一个适合我的复制和粘贴解决方案
using System;
using System.Windows.Forms;
namespace ConsoleApplication1
{
class Program
{
[STAThread]
private static void Main(string[] args)
{
Console.WriteLine("Say something and it will be copied to the clipboard");
var something = Console.ReadLine();
Clipboard.SetText(something);
Console.Read();
}
}
}
答案 1 :(得分:14)
使用
System.Windows.Forms.Clipboard.SetText(message)
其中message是要复制的字符串。
虽然System.Windows.Forms命名空间是为Windows窗体设计的,但其API中的许多方法甚至在控制台/其他非Winforms应用程序中也具有重要用途。
答案 2 :(得分:0)
1:您需要添加对 System.Windows.Forms
的引用,如下所示:
在 Solution Explorer
中右键单击您的项目并选择 Add reference
...,然后找到 System.Windows.Forms
并添加它。 (look at this answer)
2:然后您可以使用下面的行将 System.Windows.Forms
添加到您的代码中,并确保将其正确放置在其他 using
(s) 的位置:
using System.Windows.Forms;
3:在 [STAThread]
函数的顶部添加 Main
,所以它应该是这样的:
[STAThread]
static void Main(string[] args)
{
....
}
4:随意使用Clipboard
,例如:
Clipboard.SetText("Sample Text");