0

我有一个公共类,在那个类中我有一个设置 Clipboard.Text 的 void 并且我有一个线程,我从中调用该函数,每次我调用它时我都会得到

在进行 OLE 调用之前,必须将当前线程设置为单线程单元 (STA) 模式。确保您的 Main 函数上标记了 STAThreadAttribute。

我尝试了以下方法:

        Thread t = new Thread(Worker);
        t.SetApartmentState(ApartmentState.STA);
        t.Start();

但我仍然收到错误,我什至试过 [STAThread] 我的函数看起来像这样

    public void Set(string s)
    {

        Clipboard.SetText(s);
    }
4

1 回答 1

0

我相信它告诉您将STAThread属性放在您的主要功能上,如下所示:

[STAThread]
static void Main()
{
    // Your code
}

您说您尝试了 STAThread,但它是在主函数还是您正在调用的函数上?

于 2012-09-06T15:56:42.187 回答