C#里用剪切板提示说使用单线程!!!

goodfeng110 2006-04-15 01:00:23
C#里用剪切板提示说使用单线程!!!
System.Windows.Forms.Clipboard.SetDataObject("");//出错说使用单线程
System.Windows.Forms.Clipboard.SetDataObject(stringBuffer);
怎么设置单线程模式????
...全文
335 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodfeng110 2006-04-19
  • 打赏
  • 举报
回复
在服务器上,这样不行吗?
Ivony 2006-04-19
  • 打赏
  • 举报
回复
不知道你在服务器的剪贴板上能找到什么信息……

你先要搞清楚ASP.NET的运行模式,你的程序是运行在服务器上的……
goodfeng110 2006-04-15
  • 打赏
  • 举报
回复
还有权限问题吗?我主要想用剪切板导到execl中,用Session不行吧
Knight94 2006-04-15
  • 打赏
  • 举报
回复
你在asp.net中使用clipboard,你的aspnet用户有这个权限吗

既然是在asp.net,为什么不用Session呢
goodfeng110 2006-04-15
  • 打赏
  • 举报
回复
是在ASP.NET里没有那事件吧?
goodfeng110 2006-04-15
  • 打赏
  • 举报
回复
Main函数上有没有[STAThread]?
C#没有Main函数,要怎么写?
Ninputer 2006-04-15
  • 打赏
  • 举报
回复
如果你发现你的程序很简单不该有这种问题,那就检查你的Main函数上有没有[STAThread]
Ninputer 2006-04-15
  • 打赏
  • 举报
回复
你可能是在Timer的事件里、BackgroundWorder的DoWork事件里或者多线程访问这个方法的。剪贴版要求在标记了单线程单元(STAThread)的线程中运行。你可以采用这种方法:
在一个方法里修改剪贴版

void SetClipboard(string content)
{
System.Windows.Forms.Clipboard.SetDataObject(content);
}

然后在调用的地方使用:
this.Invoke(new Action<string>(SetClipboard), "Some text");

其中this应当是主窗体。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧