private void button1_Click(object sender, EventArgs e)
{
// Перевірка заповненості форми
if (textBox1.TextLength > 0 && // TextBox1 не порожній
textBox2.TextLength > 0 && // TextBox2 не порожній
(checkBox1.Checked || checkBox2.Checked) && // Вибрано хоча б один CheckBox
(radioButton1.Checked || radioButton2.Checked) && // Вибрано один RadioButton
comboBox1.SelectedIndex >= 0) // В ComboBox вибрано елемент
{
// Дії при коректному заповненні форми
ProcessFormData();
}
else
{
// Повідомлення про помилку заповнення
MessageBox.Show("Будь ласка, заповніть усі обов'язкові поля форми!",
"Попередження",
MessageBoxButtons.OK,
MessageBoxIcon.Warning);
}
}
private void button1_Click(object sender, EventArgs e)
{
if (IsFormValid())
{
ProcessFormData();
}
else
{
ShowValidationError();
}
}
private bool IsFormValid()
{
// Перевірка текстових полів
if (string.IsNullOrWhiteSpace(textBox1.Text) return false;
if (string.IsNullOrWhiteSpace(textBox2.Text)) return false;
// Перевірка checkBox
if (!checkBox1.Checked && !checkBox2.Checked) return false;
// Перевірка radioButton
if (!radioButton1.Checked && !radioButton2.Checked) return false;
// Перевірка comboBox
if (comboBox1.SelectedIndex <0) return false;
return true;
}
private void ShowValidationError()
{
StringBuilder errors = new StringBuilder();
if (string.IsNullOrWhiteSpace(textBox1.Text))
errors.AppendLine("- Заповніть поле TextBox1");
if (string.IsNullOrWhiteSpace(textBox2.Text))
errors.AppendLine("- Заповніть поле TextBox2");
if (!checkBox1.Checked && !checkBox2.Checked)
errors.AppendLine("- Виберіть хоча б один варіант у CheckBox");
if (!radioButton1.Checked && !radioButton2.Checked)
errors.AppendLine("- Виберіть один варіант у RadioButton");
if (comboBox1.SelectedIndex < 0)
errors.AppendLine("- Виберіть значення зі списку");
MessageBox.Show("Виправте наступні помилки:\n" + errors.ToString(),
"Помилка заповнення форми",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
Переваги покращеної версії: