Условие Аутентификации Пароля При Нажатии Кнопки Удаления C#

#c# #function

Вопрос:

У меня есть кнопка удаления, которая удаляет записи из базы данных. Мне нужно добавить всплывающую форму «Введите свой пароль», чтобы предотвратить случайное удаление пользователей. Только администратор, у которого есть пароль, сможет удалить данные.

Вот мой код кнопки:

 private void btnDelete_Click(object sender, EventArgs e)  {  if (MessageBox.Show("If you are not a System Administrator Please do not touch.", "Remove Row", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)  {  using (SqlConnection sqlCon = new SqlConnection(connectionString))  {    sqlCon.Open();  SqlCommand sqlCmd = new SqlCommand("ContactDeleteByID", sqlCon);  sqlCmd.CommandType = CommandType.StoredProcedure;  sqlCmd.Parameters.AddWithValue("@PhoneBookID", PhoneBookID);  sqlCmd.ExecuteNonQuery();  MessageBox.Show("Deleted Successfully");  Clear();  GridFill();  }  }   else  {  MessageBox.Show("Row Not Removed", "Remove Row", MessageBoxButtons.OK, MessageBoxIcon.Information);  }  }  

Большое спасибо.

Комментарии:

1. Ваш вопрос в том, как запросить этот пароль? Вы хотите использовать стандартное диалоговое окно или пользовательскую форму?

Ответ №1:

Создайте несколько новых окон для авторизации и используйте Window.ShowDialog() метод

 private void btnDelete_Click(object sender, RoutedEventArgs e)  {  var auth = new AuthWindow();   auth.ShowDialog();   if (auth.IsAdmin)  {  //do smth  }  else  {  MessageBox.Show("Row Not Removed", "Remove Row", MessageBoxButtons.OK, MessageBoxIcon.Information);  }    }  

AuthWindow.cs

 private void btnOk_Click(object sender, RoutedEventArgs e)  {  isAdmin = tb.Text == "SomePass";  this.Hide();  }