如何让wpf 中的textbox只能输入整型或浮点型呢??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让wpf 中的textbox只能输入整型或浮点型呢??相关的知识,希望对你有一定的参考价值。

rt

这个是可以的

用正则表达式

或都用键盘键下事件来判断所输入的符是不是数字

如果是数字则允许输入

不是数字则不允许输入

还是一个就是点的字符也是允许输入的

不过在允许之前要查找一下

如果TextBox中已经有了的话

则也不允许输入

没有则允许输入

朋友

参考一下吧

希望能够帮到你
参考技术A 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;


参考技术B 如果用面向对象的的说法叫 override;好长时间不些程序了,英语错了应该,叫"重写你的控件"! 参考技术C 不能。

以上是关于如何让wpf 中的textbox只能输入整型或浮点型呢??的主要内容,如果未能解决你的问题,请参考以下文章

如何让wpf 中的textbox只能输入整型或浮点型呢??

C语言字符串类型转换为整型或浮点怎么做

wpf textbox允许输入多少

WPF中TextBox只能输入正数或者负数和只能输入一个小数点?

WPF TextBox限制只能输入数字的两种方法

wpf 限制textbox只能输入数字及特殊键