2016-12-25 7 views
0
private void button4_Click(object sender, EventArgs e) 
    { 
     LogoutQuestion log = new LogoutQuestion(this); 
     log.Show(); 
    } 

Это код в форме меню. В основном я хочу спросить пользователя, хочет ли он покинуть программу, и если это так, чтобы закрыть форму LogoutQuestion и родительскую форму меню. Любые идеи о том, как это сделать?Как предотвратить открывание формы несколько раз на C#, сохраняя при этом соединение с родительской формой, которая была перед ним?

}

Выше вся LogoutQuestion форма я говорил. Любая помощь будет оценена. :-)

+0

В чем проблема? Похоже, вы уже закодировали то, что хотели. –

+1

Сделать LogoutQuestion диалоговое окно ('log.ShowDialog();') Таким образом вы также можете получить результат ответа пользователей, так как это вернет 'DialogResult'. – tinstaafl

+0

Вы также можете просто вызвать Application.Exit –

ответ

2

сделать LogoutQuestion диалог (log.ShowDialog();) Таким образом, вы можете также извлекать результат реакции пользователей, так как это будет возвращать DialogResult.

С помощью ShowDialog вы делаете форму модальной. Это означает, что он привязан к родительской форме, которая показала его. Это похоже на попытку сохранить файл в других программах Windows. Это также означает, что пользователь не может продолжать ничего, пока эта форма не будет закрыта. Это также дает вам возможность использовать результаты действий пользователей, когда форма закрывается.

private void button4_Click(object sender, EventArgs e) 
{ 
    LogoutQuestion log = new LogoutQuestion(); 
    DialogResult dr = log.ShowDialog(); 
    if(dr != DialogResult.Cancel) 
    { 
     this.Close(); 
    } 
}