C#Textbook中如何限制输入只为数字

Posted

tags:

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

在Textbook中只输入数字和“:”即输入时间格式!!如:12:00:00求解!!谢谢啊!

把要限制输入的文本框(textbox)的KeyPress的事件设置为下面的代码:private void pressKey_time(object sender, KeyPressEventArgs e)

Int16 Asc = System.Convert.ToInt16(e.KeyChar);
if (Asc != 8 && Asc != 13)

String KeyChar = e.KeyChar.ToString();
String t_Str1, t_Str2, Reg;
TextBox T = (TextBox)sender;
t_Str1 = T.Text.Substring(0, T.SelectionStart);
t_Str2 = T.Text.Substring(T.SelectionStart + T.SelectionLength);
try

t_Str1 += KeyChar + t_Str2;
Reg = @"^\d1,2(:1\d0,2)0,2$";
if (!System.Text.RegularExpressions.Regex.IsMatch(t_Str1, Reg)) throw new Exception("Invalid!");

catch

e.Handled = true;


修改其中加黑部分的正则表达式可作各种不同的限制,以上只限制输入格式为88:88:88,如要加入输入值大小的限制请自行修改正则表式。
参考技术A public bool checktimetype(string str)

bool flag;
string[] s=new string[3];
char[] f = new char[2];
s[0] = str.Substring(0, 2);
f[0] = str[2];
s[1] = str.Substring(3, 2);
f[1] = str[5];
s[2] = str.Substring(6, 2);
if (f[0] == ':' && f[1] == ':')

if (int.Parse(s[0]) >= 0 && int.Parse(s[0]) <= 23 && int.Parse(s[1]) >= 0 && int.Parse(s[1]) <= 59 && int.Parse(s[2]) >= 0 && int.Parse(s[2]) <= 59)
flag = true;
else
flag = false;

else
flag = false;
return flag;

QT中如何设置comboBox只能输入数字

QT中如何设置comboBox只能输入数字?如QQ帐号输入框中只能输入数字,且输入的数字有长度限制

参考技术A QComboBox box;
box.setEditable(true);

QRegExp rx("^[0-9]1,10$");//这个10就是最大长度
QValidator *validator = new QRegExpValidator(rx,0);
box.lineEdit()->setValidator(validator);本回答被提问者采纳

以上是关于C#Textbook中如何限制输入只为数字的主要内容,如果未能解决你的问题,请参考以下文章

c#中如何把textbook中的数字读出并赋值给自己定义的变量

textbook只能输入纯数字,且在5到300的范围内?

在C#里.怎么设置我的textbook1只能输入数字或者英文??请高手解决!!

用C++或者C如何实现限制输入的只能是数字,其余类型的直接退出

如何限制用户只能输入0-50的数字

限制用户仅在C#windows应用程序中输入数字