in .NET, How do I set STAThread when I'm running a form in an additional thread?
问题 I'm running a form in a second thread. If I do Ctrl-C to copy text on the clipboard, I get an Exception, "Current thread must be set to a single thread apartment (STA) before OLE calls can be made. (Using the clipboard involves OLE apparently). Putting the [STAThread] with my thread proc, which is the entry point of my second thread does NOT work. What will work? [STAThread] private void MyFormThreadproc(object o) { form = new MyForm(); Application.Run(form); } 回答1: When you create the thread