S>вообщето f2.show() как раз таки и создает отдельный поток для формы (этим и отличается от showdialog). так что можно все это дело короче записатьЧТН>
S>S> private void button1_Click(object sender, System.EventArgs e)
S> {
S> Form2 f2 = new Form2();
S> f2.Show();
S> }
S>
S>эффект будет тот же
Не, я тут проверял, если просто Show(), то тогда как раз остается тот же UI поток, так как можно первой форме дать что-нибудь посчитать, ну допустим даже можно бесконечный цикл запустить, так вот второе окно тоже не будет откликаться. А когда создаешь в новом потоке новую форму с помощью ShowDialog() все хорошо получается.