2013-12-17 2 views
0

Как я могу открыть новую форму из основного потока в C#?Открыть новую форму в основной теме

В этот момент я открываю их с помощью этого:

System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(oppenMainForm)); 
t.SetApartmentState(ApartmentState.STA); 
t.Start(); 

Но это создает новую нить ... Моя главная форма моя форма Войти .. И я хочу, чтобы закрыть и затем открыть свой второй форма.

+4

Почему вы не можете использовать '(новая форма()) Show()'.? Наличие двух потоков «GUI» - это не очень хорошая идея. – vcsjones

+0

@vcsjones Я узнал об этом .. Поэтому я пытаюсь исправить это ... –

+0

@vcsjones. Если вы это сделаете, ваша форма входа останется на все время, несмотря на то, что она бесполезна. – Servy

ответ

7

Перейти к файлу Program.cs и изменить его так, что вы показываете вашу регистрационную форму, а затем, после того, как он был закрыт, определить, следует ли открыть другую форму:

Это, скорее всего, искать что-то еще или меньше, как это:

LoginForm loginform = new LoginForm(); 
Application.Run(loginform); 

if (loginform.DialogResult == DialogResult.Yes) 
    Application.Run(new MainForm()); 
//TODO handle error cases 
3

Просто используйте этот

Application.Run(new OppenMainForm()); 
Смежные вопросы