4个回答
2013-09-12
展开全部
这个是可以的
用正则表达式
或都用键盘键下事件来判断所输入的符是不是数字
如果是数字则允许输入
不是数字则不允许输入
还是一个就是点的字符也是允许输入的
不过在允许之前要查找一下
如果TextBox中已经有了的话
则也不允许输入
没有则允许输入
朋友
参考一下吧
希望能够帮到你
用正则表达式
或都用键盘键下事件来判断所输入的符是不是数字
如果是数字则允许输入
不是数字则不允许输入
还是一个就是点的字符也是允许输入的
不过在允许之前要查找一下
如果TextBox中已经有了的话
则也不允许输入
没有则允许输入
朋友
参考一下吧
希望能够帮到你
推荐于2016-03-03
展开全部
bool isNotnum = false;
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
((TextBox)sender).ImeMode = ImeMode.Disable;
this.isNotnum = false;
((TextBox)sender).Tag = ((TextBox)sender).Text;
//允许输入数字、小数点和删除键
if((e.KeyChar<48||e.KeyChar>57) && e.KeyChar!=8&&e.KeyChar!=(char)('.'))
{
e.Handled = true;
this.isNotnum = true;
}
//小数点只能输入一次
if(e.KeyChar ==(char)('.')&&((TextBox)sender).Text.IndexOf('.')!=-1)
{
e.Handled = true;
}
//第一位不能为小数点
if (e.KeyChar == (char)('.') && ((TextBox)sender).Text == "")
{
e.Handled = true;
}
//第一位是0,第二位必须为小数点
if (e.KeyChar != (char)('.') && ((TextBox)sender).Text == "0")
{
e.Handled = true;
}
if(e.KeyChar == 8)
{
e.Handled = false;
}
//只允许输入数字
if (e.KeyChar >= 0x4e00 && e.KeyChar <= 0x9fa5)
{
this.isNotnum = true;
}
}
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (this.isNotnum && ((TextBox)sender).Text != ((TextBox)sender).Text.ToString())
{
MessageBox.Show("只能输入数字!!!", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
((TextBox)sender).Text = ((TextBox)sender).Tag.ToString();
((TextBox)sender).SelectionStart = ((TextBox)sender).Text.Length;
this.isNotnum = false;
return;
}
}
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
((TextBox)sender).ImeMode = ImeMode.Disable;
this.isNotnum = false;
((TextBox)sender).Tag = ((TextBox)sender).Text;
//允许输入数字、小数点和删除键
if((e.KeyChar<48||e.KeyChar>57) && e.KeyChar!=8&&e.KeyChar!=(char)('.'))
{
e.Handled = true;
this.isNotnum = true;
}
//小数点只能输入一次
if(e.KeyChar ==(char)('.')&&((TextBox)sender).Text.IndexOf('.')!=-1)
{
e.Handled = true;
}
//第一位不能为小数点
if (e.KeyChar == (char)('.') && ((TextBox)sender).Text == "")
{
e.Handled = true;
}
//第一位是0,第二位必须为小数点
if (e.KeyChar != (char)('.') && ((TextBox)sender).Text == "0")
{
e.Handled = true;
}
if(e.KeyChar == 8)
{
e.Handled = false;
}
//只允许输入数字
if (e.KeyChar >= 0x4e00 && e.KeyChar <= 0x9fa5)
{
this.isNotnum = true;
}
}
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (this.isNotnum && ((TextBox)sender).Text != ((TextBox)sender).Text.ToString())
{
MessageBox.Show("只能输入数字!!!", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
((TextBox)sender).Text = ((TextBox)sender).Tag.ToString();
((TextBox)sender).SelectionStart = ((TextBox)sender).Text.Length;
this.isNotnum = false;
return;
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-12
展开全部
如果用面向对象的的说法叫 override;好长时间不些程序了,英语错了应该,叫"重写你的控件"!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-12
展开全部
不能。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询