Диалоги и потоки в c#
Мне надо написать простенькое SDI приложение типа блокнот. Я создаю формы так:
void NewForm()
{
Form1 form2 = new Form1();
form2.ShowDialog();
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
new System.Threading.Thread(NewForm).Start();
}
Следующий код работает только если вызывать событие из главной (первой) формы:
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
}
Ошибка: Current thread must be set to single thread apartment (STA) mode before OLE calls can be made. Ensure that your Main function has STAThreadAttribute marked on it. This exception is only raised if a debugger is attached to the process.
Подскажите как сделать так, чтобы диалоги можно было вызывать из любой новой формы, даже если первую закрыть. Как в SDI приложениях.