У меня возникла проблема с системой входа и пароля. Недавно я начал работать с C#, и, будучи студентом, мне нужно написать пароль и систему входа в систему, которая позволит пользователю выйти из формы при нажатии кнопки выхода, даже если поля пусты.
Однако, когда я нажимаю кнопку выхода,
private void button1_Click(object sender, EventArgs e)
обработчик событий срабатывает. Если я ввожу правильный или неправильный пароль, все работает как положено, но как только я нажимаю кнопку выхода, система паролей перестает работать.
Что может быть причиной этого и как это решить? Пожалуйста, помогите
using System;
using System.Windows.Forms;
namespace TVCourseWork
{
public partial class Login : Form
{
private bool isClosing = false;
private bool IsLoggedIn = false;
private string correctUsername = "admin";
private string correctPassword = "1234";
TV mainForm = new TV();
public Login()
{
InitializeComponent();
this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
}
private void button1_Click(object sender, EventArgs e)
{
if (isClosing || IsLoggedIn)
return;
if (textBox1.Text == correctUsername && textBox2.Text == correctPassword)
{
IsLoggedIn = true;
MessageBox.Show("Вход выполнен успешно!", "Доступ разрешен", MessageBoxButtons.OK, MessageBoxIcon.Information);
AdminPanel adminPanel = new AdminPanel();
this.Hide();
adminPanel.ShowDialog();
this.Show();
}
else
{
MessageBox.Show("Неверный логин или пароль!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (!isClosing && !IsLoggedIn)
{
var result = MessageBox.Show("Вы уверены, что хотите выйти без входа?", "Подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
isClosing = true;
Application.Exit();
Application.Run(mainForm);
}
else
{
e.Cancel = true;
}
}
else if (IsLoggedIn)
{
isClosing = true;
Application.Exit();
Application.Run();
}
}
}
}