Я пытаюсь поместить копию в буфер обмена в моем файле .ascx. Поскольку это ASP.NET, нет основной функции, в которую можно было бы поместить [STAThread].
Я получаю сообщение об ошибке: «Текущий поток должен быть установлен в режим однопоточного подразделения (STA), прежде чем могут выполняться вызовы OLE. Убедитесь, что ваша функция Main имеет атрибут STAThreadAttribute, отмеченный на нем».
В моем файле ascx.cs есть using System.Windows.Forms;
, а затем одна строка кода Clipboard.SetText("Hello, clipboard");
Я попытался найти решение, но большинство решений предполагают, что есть main или, скажем, для удаления dll. Эти решения не подходят для моей ситуации.
Thread
; и установите его режим квартиры на STA непосредственно перед.Start()
; и выполните свой код, использующий OLE, в этом потоке. - person stakx - no longer contributing   schedule 11.02.2015Clipboard.SetText
вызвать STAThreadAttribute? Куда мне поставить .Start () в этом случае? - person emmajean   schedule 11.02.2015var thread = new Thread(() => Clipboard.SetText("Hello, clipboard")); thread.SetApartmentState(ApartmentState.STA); thread.Start();
Я больше не получаю сообщение об ошибке, однако текст не копируется на доску для кликов. - person emmajean   schedule 11.02.2015