Пример реализация проверки ввода на C#. Поля «Имя» и «Адресс» не дылжны оставаться пустыми; Поле «Возраст» должен представлять собой число большее или равное 0; «Профессия» должна быть Programmer или оставаться пустой. При выполнении условий кнопка «ОК» становиться доступной…
Пример проверки ввода C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.btnOK.Enabled = false;
this.txtName.Tag = false;
this.txtAge.Tag = false;
this.txtAddress.Tag = false;
this.txtOccupation.Tag = false;
this.txtName.Validating += new CancelEventHandler(this.txtBoxEmpty_Validating);
this.txtAddress.Validating += new CancelEventHandler(this.txtBoxEmpty_Validating);
this.txtOccupation.Validating += new CancelEventHandler(txtOccupation_Validating);
this.txtAge.Validating += new CancelEventHandler(this.txtBoxEmpty_Validating);
this.txtAge.KeyPress += new KeyPressEventHandler(txtAge_KeyPress);
this.txtName.TextChanged += new EventHandler(txtBox_TextChanged);
this.txtAddress.TextChanged += new EventHandler(txtBox_TextChanged);
this.txtOccupation.TextChanged += new EventHandler(txtBox_TextChanged);
this.txtAge.TextChanged += new EventHandler(txtBox_TextChanged);
}
void txtBox_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
if (tb.Text.Length == 0 && tb != txtOccupation)
{
tb.Tag = false;
tb.BackColor = Color.Red;
}
else if (tb == txtOccupation && (tb.Text.Length != 0 && tb.Text.CompareTo("Programmer") != 0))
{
tb.Tag = false;
}
else
{
tb.Tag = true;
tb.BackColor = SystemColors.Window;
}
ValidateAll();
}
void txtAge_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8)
e.Handled = true;
}
void txtOccupation_Validating(object sender, CancelEventArgs e)
{
TextBox tb = (TextBox)sender;
if (tb.Text.CompareTo("Programmer") == 0 || tb.Text.Length == 0)
{
tb.Tag = true;
tb.BackColor = System.Drawing.SystemColors.Window;
}
else
{
tb.Tag = false;
tb.BackColor = Color.Red;
}
ValidateAll();
}
private void txtBoxEmpty_Validating(object sender, CancelEventArgs e)
{
TextBox tb = (TextBox)sender;
if (tb.Text.Length == 0)
{
tb.BackColor = Color.Red;
tb.Tag = false;
}
else
{
tb.BackColor = System.Drawing.SystemColors.Window;
tb.Tag = true;
}
ValidateAll();
}
private void btnOK_Click(object sender, EventArgs e)
{
string output;
output = "Имя: " + this.txtName.Text + "rn";
output += "Адресс: " + this.txtAddress.Text + "rn";
output += "Профессия: " + this.txtOccupation.Text + "rn";
output += "Возраст: " + this.txtAge.Text;
this.txtOutput.Text = output;
}
private void ValidateAll()
{
this.btnOK.Enabled = ((bool)(this.txtName.Tag) &&
(bool)(this.txtAddress.Tag) &&
(bool)(this.txtOccupation.Tag) &&
(bool)(this.txtAge.Tag));
}
private void btnExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}

