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

rt

第1个回答  2008-07-11
要吗用正则表达式,要不嫌麻烦就用代码控制:
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;
}
}
}本回答被提问者采纳
第2个回答  2008-07-11
正则
第3个回答  2008-07-11
[-]{0,1}\d{0,10} \d{0,16} 这两个就行了 中间是或的关系啊
第4个回答  2008-07-11
加正则验证吧

如何让wpf 中的textbox只能输入整型或浮点型呢??
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) &...

如何让wpf 中的textbox只能输入整型或浮点型呢??
这个是可以的 用正则表达式 或都用键盘键下事件来判断所输入的符是不是数字 如果是数字则允许输入 不是数字则不允许输入 还是一个就是点的字符也是允许输入的 不过在允许之前要查找一下 如果TextBox中已经有了的话 则也不允许输入 没有则允许输入 朋友 参考一下吧 希望能够帮到你 ...

WPF如何让textbox只能输入{ 或者} 字符
给textBox添加一个PreviewTextInput类型的事件就可以了。=== private void textBox1_PreviewTextInput(object sender, TextCompositionEventArgs e){ if (e.Text != "{" && e.Text != "}"){ label1.Content = "只能输入“{”和“}”。";e.Handled = true;\/\/阻止非法字符输入。return;} els...

WPF中TextBox只能输入正数或者负数和只能输入一个小数点?
数据模型实现 IDataErrorInfo 接口,用正则验证即可

wpf中如何设置一个TextBox只能输入一个字符,然后跳转到另一个TextBox继...
试了下,可以实现:private void TextBox_TextChanged(object sender, TextChangedEventArgs e) { if (this.t1.Text.Length >= 1) { this.t2.Focus(); } }

新手求问,wpf的控件textextbox如何控制只能输入数字和一个小数点_百度...
前台代码:2.33320.333200.333后台代码:publicMainWindow(){InitializeComponent();if(sp.Children.Count>0){intbasenum=0;intnum;for(inti=0;ibasenum)basenum=num;}intnumber;for(inti=0;i

如何让wpf 中的textbox控件中输入的小数按小数点对齐啊,位数不一样的...
1、首先你的字体要设置为等宽或等高的字体,如 Consolas 宋体 <TextBox FontFamily="Consolas,Microsoft YaHei"\/> 2、假设以上数据是在同一个 TextBox 中,需要利用代码对每行数值进行左空格补齐 PadLeft 操作 3、如果是每个数字一个 TextBox 那就动点歪点子,比如组合控件:-- 左右各一个 TextBox...

在WPF中,有没有一个只能输入数字的控件
虽然在WPF中没有numberbox这个控件,但是你是想这个文本框只能入力数字对吧 你可以用textbox 然后对它的KeyDown事件进行限制,让它只能输入数字 函数可以这么写 private void text_KeyDown(object sender, KeyEventArgs e){ \/\/屏蔽非法按键 if ((e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9)...

wpf中,如何让textbox获得焦点时,其text被选中?
你写个附加属性,然后就可以在Style里面用了。public class TextBoxHelper { public static readonly DependencyProperty AutoSelectAllProperty = DependencyProperty.RegisterAttached("AutoSelectAll", typeof(bool), typeof(TextBoxHelper),new FrameworkPropertyMetadata((bool)false,new PropertyChangedCallback(...

WPF 中,怎么让 TextBox 里面输入的文本居中
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"

相似回答