Как лучше всего закрыть форму и перейти к другой форме.
В настоящее время у меня есть основная форма, а затем две формы:
Я хочу знать, как эффективно закрыть одну форму и открыть другую. Два раза я сделал это, но результат был немного другим:
Основная форма в моем приложении - это просто введение, которое загрузит логотип компании и покажет индикатор выполнения, который затем переместит его в форму входа, где у меня есть кнопка входа, откуда фактическая приложение откроется.
У меня есть несколько вопросов. В основной форме я добавил этот код:
private void Form1_Load(object sender, EventArgs e)
{
int i;
for (i = 0; i <= 100; i++)
{
progressBar.Value = i;
label1.Text = "Please wait while Refresh loads up...";
}
}
private void progressTimer_Tick(object sender, EventArgs e)
{
this.Close();
}
private void MainForm_Deactivate(object sender, EventArgs e)
{
Form form = new FirstForm();
form.ShowDialog(this);
}
1) Это отлично работает, просто новая форма, которая открывается, находится на панели задач, а не в центре экрана (как я установил ее свойство). Как это исправить?
В первой форме я добавил этот код:
private void loginButton_Click(object sender, EventArgs e)
{
using( ERPQueries eq = new ERPQueries())
{
int? count = eq.CheckEmployee(userTextBox.Text,passwordTextBox.Text);
if (count == 1)
{
//testLabel.Text = "Ok";
this.Close();
Form form = new SecondForm();
form.ShowDialog(this);
}
else
{
testLabel.Text = "Invalid username or password!";
}
}
}
2) Здесь следующая Форма появляется в центре экрана. Я хочу знать, чем она отличается от первого случая, так как я использовал showDialog () в обоих случаях?
3) Также в первом случае моя основная форма исчезает, тогда как во втором случае первая форма все еще видна на заднем плане и исчезает только после закрытия SecondForm.
Я уверен, что делаю много ошибок, мой код содержит ошибки. Пожалуйста, помогите. Это первый раз, когда я делаю приложение с несколькими формами.
Редактировать:
Когда я использую Show()
вместо ShowDialog()
, я не вижу новую форму. Я что-то упустил?
Я попробовал this.Dispose()
вместо this.Close()
. В первом случае он работает нормально. Во втором случае он удаляет все формы.