Я разрабатываю дополнение для офисного приложения PowerPoint.
Я пытаюсь отобразить описание объекта (настраиваемый объект), который в данный момент находится на слайде PowerPoint, в режиме конструктора (режим конструирования PowerPoint).
Когда я нажимаю на свое дополнение, описание связанного объекта отображается в окне с вкладками в качестве первой вкладки.
На вкладке есть кнопка, и когда я нажимаю на нее, мне нужно описание, чтобы скопировать его в буфер обмена Windows.
Я попробовал это с помощью clipboardclass, он выдает следующее исключение,
System.Threading.ThreadstateException
{"Текущий поток должен быть переведен в однопотоковый режим (STA) до того, как будут выполнены вызовы OLE. Убедитесь, что в вашей главной функции помечен атрибут STAThreadAttribute."}
Код для буфера обмена:
Clipboard.Clear ()
Clipboard.SetText (lblObjectID.Text)
Я искал в сети решение и получил пару ответов вроде:
1. Поместите [STAThread] в основную функцию
2. Thread.CurrentThread.SetApartmentState (ApartmentState.STA) Непосредственно перед вашим вызовом SetDataObject.
Но я не уверен, куда поставить первый, а второй вариант не сработал.
Кто-нибудь может мне помочь.
Спасибо.