Общий ответ:
[STAThread]
static void Main()
{
Application.Run(new MyForm());
}
Альтернативы (взяты из здесь ), если, например, вы хотите запустить форму из потока, отличного от основного приложения:
Thread t = new Thread(new ThreadStart(StartNewStaThread));
// Make sure to set the apartment state BEFORE starting the thread.
t.ApartmentState = ApartmentState.STA;
t.Start();
private void StartNewStaThread() {
Application.Run(new Form1());
}
.
Thread t = new Thread(new ThreadStart(StartNewStaThread));
t.Start();
[STAThread]
private void StartNewStaThread() {
Application.Run(new Form1());
}