Arrays make programming easier.
using System;
using System.Drawing;
using System.Windows.Forms;
public partial class Form1 : Form
{
private readonly TextBox[] textBoxes;
private readonly Label[] labels;
public Form1() {
InitializeComponent();
textBoxes = new TextBox[] { textBox1, textBox2, textBox3, textBox4 };
labels = new Label[] { label1, label2, label3, label4};
foreach (TextBox textBox in textBoxes) {
textBox.TextChanged += TextBox_TextChanged;
}
}
private void TextBox_TextChanged(object sender, EventArgs e) {
var textBox = (TextBox)sender;
var label = labels[Array.IndexOf(textBoxes, textBox)];
if (textBox.Text == "") {
textBox.BackColor = Color.Red;
DialogResult result = MessageBox.Show("This fild is empty", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
if (result == DialogResult.OK) {
textBox.BackColor = Color.White;
this.Refresh();
}
} else {
int a = Convert.ToInt32(textBox.Text);
if (a % 2 == 0) {
label.ForeColor = Color.Violet;
label.Text = "EVEN";
} else {
label.ForeColor = Color.Blue;
label.Text = "ODD";
}
}
int even = 0, odd = 0;
foreach (var box in textBoxes) {
int.TryParse(box.Text, out int value);
if (value % 2 == 0) {
even += value;
} else {
odd += value;
}
}
lblEven.Text = even.ToString();
lblOdd.Text = odd.ToString();
}
}