- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为Office Powerpoint应用程序开发一个附件。
我正在尝试以设计模式(powerpoint的设计模式)显示当前放置在powerpoint幻灯片上的对象(自定义对象)的描述。
当我单击我的插件时,相关的对象描述将作为第一个选项卡页面显示在一个选项卡式窗口中。
标签页上有一个按钮,当我单击它时,我需要描述才能复制到Windows剪贴板。
我使用剪贴板类尝试了此操作,它引发了以下异常,
System.Threading.ThreadstateException
{“在进行OLE调用之前,必须将当前线程设置为单线程单元(STA)模式。确保您的Main函数上已标记了STAThreadAttribute。”}
剪贴板代码:
Clipboard.Clear()
Clipboard.SetText(lblObjectID.Text)
我在网上搜索了一个解决方案,并得到了一些答案,例如,
1.将[STAThread]放在主函数中
2.调用SetDataObject之前的Thread.CurrentThread.SetApartmentState(ApartmentState.STA)。
但是我不确定在哪里放置第一个选项和第二个选项不起作用。
谁能帮我。
谢谢。
最佳答案
WinForms默认为STA。您是在创建另一个线程还是在使用BackgroundWorker?运行以下代码以确定您所处的模式:
MessageBox.Show(System.Threading.Thread.CurrentThread.GetApartmentState().ToString())
Application.OleRequired()
关于vb.net - System.Threading.ThreadstateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2566463/
尝试重新启动线程时,我有时会收到 System.Threading.ThreadStateException。问题代码如下: // Make sure the thread is done stopp
我有一个名为 Form1.cs 的表单,当我运行它时,它出现错误:ThreadStateException was unhanded。 我正在尝试从所需位置打开一个文件,然后打开它,以便文件将自动加载
我正在为Office Powerpoint应用程序开发一个附件。 我正在尝试以设计模式(powerpoint的设计模式)显示当前放置在powerpoint幻灯片上的对象(自定义对象)的描述。 当我单击
我正在尝试以窗口形式初始化 Web 浏览器组件,但我收到此异常消息 System.Threading.ThreadStateException: 'ActiveX control '8856f961-
我是一名优秀的程序员,十分优秀!