C#如何让TEXTBOX只能输入英文状态下的数字并且限制位数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何让TEXTBOX只能输入英文状态下的数字并且限制位数相关的知识,希望对你有一定的参考价值。

还有THIS是什么什么意思

限制长度:设置maxlength属性
屏蔽非数字键输入:添加keypress事件
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
e.Handled = !(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b');

替换全角(中文)数字字符为半角(英文)字符:添加textchange事件
private void textBox1_TextChanged(object sender, EventArgs e)
for (int i=0;i< textBox1.Text.Length; ++i)
if (textBox1.Text[i] >= '0' && textBox1.Text[i] <= '9')
textBox1.Text = textBox1.Text.Replace(textBox1.Text[i], (char)(textBox1.Text[i] - '0' + '0'));


门道我说不出多少,办法也比较笨,看看是否符合要求
参考技术A 正则表达式
[0-9]0,10
这能输入0到9 的半角数字 ,位数为0到10位
this 表示引用类的当前实例。
参考技术B 通过判断输入字符的长度和ASC码来判断,在TextChanged事件中检查输入字符的ASC码是否是数字对应的,如果非这十个数字的话就对话框提示或者直接要求重新输入得了。不过VS有全角半角的BUG,要注意。this就是这个窗体的意思,相当于VB中的Me.你也可以理解为你的窗体。不写也行的。

c#中的textbox输入数值如何运算?

本人菜鸟一只,想问一下,像下图所示。label1旁的textbox中输入的值+label2旁输入的值,并且将结果在label3旁的textbox显示,代码怎么写?

键入textbox内的数字,并不是以Int类型来存储,而是看作字符串,被存放在TextBox.Text属性中。
要将它转换为Int类型,可以使用Int32.Parse 方法
它负责将数字的字符串表示形式转换为它的等效 32 位有符号整数。

下面的示例演示如何使用 Int32.Parse(String) 方法将字符串值转换为 32 位有符号整数值。 然后,将生成的整数值显示到控制台。
using System;
public class ParseInt32

public static void Main()

Convert(" 179 ");
Convert(" -204 ");
Convert(" +809 ");
Convert(" 178.3");

private static void Convert(string value)

try int number = Int32.Parse(value);
Console.WriteLine("Converted '0' to 1.", value, number);
catch (FormatException)

Console.WriteLine("Unable to convert '0'.", value);



// This example displays the following output to the console:
// Converted ' 179 ' to 179.
// Converted ' -204 ' to -204.
// Converted ' +809 ' to 809.
// Unable to convert ' 178.3'.
参考技术A int num1=parse.Int32(texBox1的name.Text);//将第一个文本框的内容转换为整型
int num2=parse.Int32(texBox2的name.Text);//将第二个文本框的内容转换为整型
int result=num1+num2;//将两文本框内容想加
textBox3.Text=result.ToString();//将结果赋值文本框3追问

为何提示说“上下文没有parse”

parse是什么啊?

追答

是我记错了是int.Parse();把parse.Int32()换一下

本回答被提问者和网友采纳

以上是关于C#如何让TEXTBOX只能输入英文状态下的数字并且限制位数的主要内容,如果未能解决你的问题,请参考以下文章

C#开发wince平台下的winform程序,textbox的keypress事件无法触发,本意是想限制textbox只能输入数字。

C#中如何限制textbox只能输入英文和数字

C#中如何限制textbox只能输入英文和数字

C#中如何限制Textbox控件中只能输入数字,要能用退格的

C#中的textbox中如何设置只能输入数字,如果是其他或小数点都不能输入?

C#的winform中如何控制TextBox中只能输入数字,包括0