请问在文本框中怎么能控制输入数字--在线等待

tutuxu 2004-01-20 08:36:10
rt
...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tutuxu 2004-01-20
  • 打赏
  • 举报
回复
问题解决,谢谢!
guoyangc 2004-01-20
  • 打赏
  • 举报
回复
可以在其KeyPress事件中追加如下代码:
//输入不是0~9之间的数字或者不是回退健就不显示
if ((e.KeyChar < (char)48 || e.KeyChar > (char)57) && e.KeyChar != (char)8)
{
e.Handled = true;
}
如果还要控制操作者通过“Ctrl + V”或者“复制菜单”向TextBox框拷贝非数字的字符串可以在TextBox的TextChanged事件中追加如下代码,另外需要追加一个变量来保存拷贝前的字符串,而且需要在Form_Load事件中将TextBox的值赋给该变量。
string sOldValue = "";
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
//取得当前TextBox的值
string sCurVvalue = this.textBox1.Text.Trim().ToString();

try
{
//如果当前的值不是null或者空串时,转换成int型数据
if (sCurVvalue != null && !sCurVvalue.Equals(""))
{
int.Parse(sCurVvalue);
}

//没有出现异常,说明是数字,重新给TextBox赋值(不带有空格)
this.textBox1.Text = sCurVvalue;
//更新原来的值
sOldValue = sCurVvalue;
}
catch
{
//出现异常,将TextBox还原成原来的值
this.textBox1.Text = sOldValue;
}
}

110,580

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧