Как вы, вероятно, знаете, если вы используете Form1 в качестве основной формы, вы не сможете закрыть ее, так как это закроет приложение (если вы не настроите способ запуска приложения, но это более продвинуто).
Один из вариантов - начать с создания формы Form2 в качестве основной формы, но оставить ее скрытой, затем создать и показать форму Form1, а затем, когда проверка лицензии будет завершена, закрыть форму Form1 и сделать форму Form2 видимой.
Или вы можете запуститьпоказывая Form1, а затем, когда проверка лицензии завершена, вызовите Form1.Hide()
, а затем создайте и покажите Form2.Затем, когда пользователь Form2 закрывается, вызовите Form1.Close()
в обработчике событий Form2.Closed:
class Form1
{
private void Form1_Load(object sender, EventArgs e)
{
// do the license check,
// and then when the license check is done:
if (responseFromServer == "OK")
{
Form2 form2 = new Form2();
Form2.FormClosed += new FormClosedEventHandler(Form2_FormClosed);
Form2.Show();
this.Hide();
}
else
this.Close();
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
this.Close(); // will exit the application
}
}