怎样能确保C#中的TEXTBOX中只能输入数字而不能输入字母和其他字符
我在程序下面输入了一个类似这样的校验语段,但在调试的过程中总是中途就卡死了,没有弹出相应的MESSAGEBOX的提示信息啊intresult;if(int.TryPars...
我在程序下面输入了一个类似这样的校验语段,但在调试的过程中总是中途就卡死了,没有弹出相应的MESSAGEBOX的提示信息啊
int result;
if (int.TryParse(H.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(I.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(J.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(K.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(T.Text, out result) == false)
{ MessageBox.Show("请输入数字"); } 展开
int result;
if (int.TryParse(H.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(I.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(J.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(K.Text, out result) == false)
{ MessageBox.Show("请输入数字"); }
if (int.TryParse(T.Text, out result) == false)
{ MessageBox.Show("请输入数字"); } 展开
4个回答
展开全部
/// <summary>
/// 文字改变事件处理
/// </summary>
/// <param name="sender">object</param>
/// <param name="e">EventArgs</param>
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
if (this.IsMatchNumber(this.textBox1.Text)
|| string.IsNullOrEmpty(this.textBox1.Text.Trim()))
{
this.textBox1.Tag = this.textBox1.Text;
}
else
{
this.textBox1.Text = this.textBox1.Tag as string;
this.textBox1.SelectionStart = this.textBox1.Text.Length;
}
}
/// <summary>
/// 匹配数字
/// </summary>
/// <param name="inputStr">输入匹配字符串</param>
/// <returns>是否匹配</returns>
private bool IsMatchNumber(string inputStr)
{
//// 匹配整数和小数 7位整数 两位小数
if (Regex.IsMatch(inputStr, @"^\d{1,7}(?:\.\d{0,2}$|$)"))
{
return true;
}
return false;
}
2014-02-25
展开全部
if (!(int.TryParse(H.Text, out result))) { MessageBox.Show("请输入数字"); }
http://msdn.microsoft.com/zh-cn/library/f02979c7(v=vs.110).aspx
http://msdn.microsoft.com/zh-cn/library/f02979c7(v=vs.110).aspx
更多追问追答
追问
string mi = this.H.Text;
float a = float.Parse(mi);
没有用,当我输入您给的编码之后到这一步就卡住了
追答
微软示例不会错的,不知道你小脑袋想什么,从写的语句来看就不对了,float 关键字表示存储 32 位浮点值的简单类型。它就不是int.看http://social.msdn.microsoft.com/Forums/vstudio/zh-CN/701df7da-17d8-41b5-b2d2-94b2be9c0191/floattryparse?forum=netfxbcl
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-28
展开全部
正则搞定
更多追问追答
追问
哥哥,还想麻烦你,我的本意是区分字母和其他字符',可是我现在发现连小数点都输不进去了
追答
回复 逆天吟べ僾 :那你的正则一定没用对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这代码放哪里了?应该把这代码放文本框 文本改变事件里吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询