文本框数字校验:
创建文本框事件keypress:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char .IsNumber (e .KeyChar )&& e .KeyChar !=(char )8) //如果输入的不是数字并且输入的按键不是char8(退格键)
{
e.Handled =true ; //Handled是过去式,看字面意思:操作过的=是.将这个操作的状态设为已处理过,自然就不会再处理了.
}
}
不能输入重复值判断:
例如文本框里输入abc,再输入a或者b或者c都不可以
private void tbx_KeyPress(object sender, KeyPressEventArgs e)
{
if (tbx.Text.IndexOf(e.KeyChar) >= 0)
{
e.Handled = true;
}
}
利用了检索函数 indexof(),这个函数可以判断再输入的值在当前文本框是否有过,有过就返回和输入值相同项在文本框中的位置,没有过就返回-1
例如 已输入了abc
再输入d -------tbx.Text.IndexOf(e.KeyChar) 的值为-1
再输入a -------tbx.Text.IndexOf(e.KeyChar) 的值为0
再输入b -------tbx.Text.IndexOf(e.KeyChar) 的值为1
再输入c -------tbx.Text.IndexOf(e.KeyChar) 的值为2