C# 使用剪贴板方法时出现ThreadStateException问题
嗨,我在调试时遇到了这个问题,不知道如何找到解决方案。 System.Windows.Forms.dll中出现System.Threading.ThreadStateException 代码如下:C# 使用剪贴板方法时出现ThreadStateException问题,c#,clipboard,C#,Clipboard,嗨,我在调试时遇到了这个问题,不知道如何找到解决方案。 System.Windows.Forms.dll中出现System.Threading.ThreadStateException 代码如下: namespace PhoneTaker { class Program { static void Main(string[] args) { List<string> NamesList = File.Re
namespace PhoneTaker
{
class Program
{
static void Main(string[] args)
{
List<string> NamesList = File.ReadLines("Names.txt").ToList();
string str = NamesList.ElementAt(0);
Console.WriteLine(str);
Clipboard.Clear();
Clipboard.SetText(str);
NamesList.Remove(str);
File.WriteAllLines("Names.txt", NamesList);
Console.WriteLine("All Done");
Console.ReadLine();
}
}
}
namespace电话接受器
{
班级计划
{
静态void Main(字符串[]参数)
{
List NamesList=File.ReadLines(“Names.txt”).ToList();
string str=NamesList.ElementAt(0);
控制台写入线(str);
剪贴板。清除();
剪贴板.SetText(str);
名称列表。删除(str);
File.writeAllines(“Names.txt”,NamesList);
控制台。写入线(“全部完成”);
Console.ReadLine();
}
}
}
剪贴板需要STA线程来支持非线程安全的剪贴板客户端。只要你只把文本放在剪贴板上,那就不是真正的问题。将[StatThread]属性放在Main()方法上。@Hans Passant你的意思是:StatThreadAttribute Stat就像我写的一样,将它从注释复制/粘贴到Main()上方的一行。@Hans Passant谢谢你的帮助