C#中如何限制Textbox控件中只能输入数字,要能用退格的
发布网友
发布时间:2022-05-05 15:23
我来回答
共3个回答
热心网友
时间:2022-06-27 16:34
在Winform(C#)中要实现*Textbox只能输入数字,一般的做法就是在按键事件中处理,判断keychar的值。*只能输入数字,小数点,Backspace,del这几个键。数字0~9所对应的keychar为48~57,小数点是46,Backspace是8。
拖一个Textbox到窗体上,添加OnKeyPress事件,在事件写判断的代码,只要判断不是这些键,设置e.Handled的值为true,就可以屏蔽输入。
1.判断是否为数字或Backspace,按下面这样写的话只能输入数字和Backspace,所以还得给代码添加些条件,还要能够输入小数点。
程序代码
if ((kc < 48 || kc > 57) && kc != 8)
e.Handled = true
2.输入小数点。输入的小数要符合数字的格式,类似9.9.9这样的是不能够输入的。做法就是用float.TryParse来转换Textbox中之前和之后的值,然后比较两者的转换结果。具体的代码如下:
程序代码
if (kc == 46) //小数点
{
if (txtMoney.Text.Length <= 0)
e.Handled = true; //小数点不能在第一位
else
{
float f;
float oldf;
bool b1 = false, b2 = false;
b1 = float.TryParse(txtMoney.Text, out oldf);
b2 = float.TryParse(txtMoney.Text + e.KeyChar.ToString(), outf);
if (b2 == false)
{
if (b1 == true)
e.Handled = true;
else
e.Handled = false;
}
}
}
热心网友
时间:2022-06-27 16:34
直接用当输入框失去焦点的时候用判断 直接try来判断,不对的话就使用默认值,
在*keydown keypress的时候 如果用了快捷键 黏贴的话要做好处理
热心网友
时间:2022-06-27 16:34
你可以考虑处理TextChanged事件并记录TextBox的Text,如果键入的内容不符合要求就把Text设置为原来的Text。
C#中如何限制Textbox控件中只能输入数字,要能用退格的
在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理,判断keychar的值。限制只能输入数字,小数点,Backspace,del这几个键。数字0~9所对应的keychar为48~57,小数点是46,Backspace是8。拖一个Textbox到窗体上,添加OnKeyPress事件,在事件写判断的代码,只要判断不是这些...
C#中如何限制Textbox控件中只能输入数字,要能用退格的
你可以考虑处理TextChanged事件并记录TextBox的Text,如果键入的内容不符合要求就把Text设置为原来的Text。 追问: 我是入门的而已,那只能输入数字且能用退格,如何做到,剩下的按你的说改要求我用if 应该可以做到小将盘区域+横排数字区域都可以输入 追问: 名词有点别扭...小将盘=小键盘 回答: 可以调用...
C#如何限制Textbox文本框只能输入数字
按退格键,可以正常删除数字。当输入11位数字以后,就无法再继续输入,只能最大输入11位长度。
在C#textBox中怎样限制只能输入数字,空格或逗号啊?
if (!Regex.Match(textBoxData.Text, @"^[0-9, ]{1,}$").Success)
C#如何在textbox中只输入数字并指定位数
public static bool Validate(string regexString,string validateString){ Regex regex = new Regex(regexString);return regex.IsMatch(validateString.Trim());} bool numOne=Validate("^[0-9]*$",TextBox1.Text);限制输入数字:^[0-9]限制输入n位的数字:^\d{n} 限制输入至少n位数字:^\d...
C# 文本框只能输入数字
代码如下:调用TextBox的KeyPress事件 private void txtUserId_KeyPress(object sender, KeyPressEventArgs e){ //如果输入的不是数字键,也不是回车键、Backspace键,则取消该输入 if (!(Char.IsNumber(e.KeyChar)) && e.KeyChar!=(char)13 && e.KeyChar!=(char)8){ e.Handled = true;} ...
C#怎么限制textbox只能输入小数和负号?
首先你要限制他输入要是数字和负号;其次你要判断他中间需要有并且只能有一个小数点+负号。限制数字代码如下(要确保输入能删能回车)写在KeyPress事件里://如果输入的不是数字键,也不是回车键、Backspace键,则取消该输入 if (!(Char.IsNumber(e.KeyChar)) //数字 && e.KeyChar != (c...
在C#中,怎样让文本框中只显示数字或只显示字母
第一种:private void txtPassWord_KeyPress(object sender, KeyPressEventArgs e){ //只能输入字母和数字或者退格键,下面出现的数字请查看ASC2码表 if (e.KeyChar == 8) e.Handled = false;else if (48 <= e.KeyChar && e.KeyChar <= 57) e.Handled = false;else if (97 <= e.Key...
c#中如何控制文本框中输入字符的范围
1、重写键盘事件OnKeyPress()键盘输入的字符可以通过重写TextBox控件的OnKeyPress()事件处理,见如下代码:protected override void OnKeyPress(KeyPressEventArgs e) // 屏蔽非数字键{ base.OnKeyPress(e); if (this.ReadOnly) // 只读, 不处理 { return; } if ((int)e.KeyChar <= 32) // 特殊...
C#如何让TEXTBOX只能输入英文状态下的数字并且限制位数
限制长度:设置maxlength属性 屏蔽非数字键输入:添加keypress事件 private void textBox1_KeyPress(object sender, KeyPressEventArgs e){ e.Handled = !(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b');} 替换全角(中文)数字字符为半角(英文)字符:添加textchange事件 private void textBox1_...