将上下文复制到剪贴板 C#

Copying a contex into clipboard C#

我在 stackOF 中找到了这段代码,但它根本不起作用,我无法修复它。 你能告诉我这段代码有什么问题吗?

using System.Windows.Forms;


public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Button1_Click(object sender, EventArgs e)
    {
        Clipboard.SetText(textBox1.Text);
    }
}

}

我认为你的问题是因为你将程序命名为 class 将文本复制到剪贴板

看看这段代码

using System.Windows.Forms;

namespace Clipboard
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //Clipboard.SetText(textBox1.Text); This will not work if you named your namespace Clipboard !
            System.Windows.Forms.Clipboard.SetText(textBox1.Text); // you should use this way to confirm you need to access to clipboard not your namespace
        }
    }
}

我用 class(剪贴板)的相同名称命名我的程序 我现在有问题,因为编译器混淆了你的程序和复制文本的 class 所以最好的方法是每次创建程序时指定一个唯一的名称:)

与您自己的命名空间有冲突。您可以根据@WaleedKhaled 的回答使用完整声明明确使用确切的 Clipboard.SetText() 方法:

System.Windows.Forms.Clipboard.SetText(textBox1.Text);

或者您示例顶部的 using 语句,例如:

using WinForms = System.Windows.Forms; 

那么你的行会是:

WinForms.Clipboard.SetText(textBox1.Text);