C# TextBox实现数字与点限制输入
需积分: 50 89 浏览量
更新于2024-10-22
收藏 2KB TXT 举报
在C#编程中,有时我们需要限制文本框(textBox)的输入内容,确保用户只能输入数字。本文将详细介绍如何实现这一功能,通过多种方法来控制TextBox的输入行为,防止非数字字符的输入。
首先,为了阻止除数字、小数点和退格键以外的字符,可以使用`KeyPress`事件处理程序。在`KeyPress`事件中,检查`e.KeyChar`的值,判断它是否是数字、小数点或退格键。以下是一段示例代码:
```csharp
if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar) && e.KeyChar != '.') { e.Handled = true; }
if ((e.KeyChar < 48 || e.KeyChar > 57) && (e.KeyChar != 8)) { e.Handled = true; }
if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar)) { e.Handled = true; }
```
这里,`Char.IsDigit()`函数用于检测字符是否为数字,`Char.IsPunctuation()`判断字符是否为标点符号,`Char.IsControl()`检查字符是否为控制字符(如退格、换行等)。通过这种方式,可以确保输入的字符符合只包含数字和小数点的要求。
其次,如果需要更严格的正则表达式验证,可以在文本框内容改变后使用`string`的`Regex`方法。例如,创建一个正则表达式`/^[1-9][0-9]*$/`,这个表达式匹配的字符串仅限于非负整数。当文本框内容不符合该模式时,弹出警告并清空文本框:
```csharp
string regExp = /^[1-9][0-9]*$/;
if (!regExp.IsMatch(this.txtLogin.Text)) {
alert("输入无效");
this.txtLogin.Clear();
return;
}
```
另外,为了处理小数点的特殊情况,比如不允许连续输入多个小数点,可以检查当前文本框的文本是否已经包含小数点。如果输入的是小数点,并且文本框已经有小数点,则忽略这次输入:
```csharp
if (e.KeyChar == '.')
{
if (txtImprestMoney.Text.Contains(".")) {
e.Handled = true;
}
}
```
通过组合使用`KeyPress`事件处理、正则表达式验证以及特定字符处理,可以有效地实现C#中的textBox输入限制,确保用户只能输入数字。这在处理财务相关的输入,或者需要精确数值输入的场景中尤为实用。
2954 浏览量
682 浏览量
191 浏览量
170 浏览量
218 浏览量
614 浏览量
278 浏览量

pretyjfh
- 粉丝: 6
最新资源
- 微信小程序开发教程源码解析
- Step7 v5.4仿真软件:s7-300最新版本特性和下载
- OC与HTML页面间交互实现案例解析
- 泛微OA官方WSDL开发文档及调用实例解析
- 实现C#控制佳能相机USB拍照及存储解决方案
- codecourse.com视频下载器使用说明
- Axis2-1.6.2框架使用指南及下载资源
- CISCO路由器数据可视化监控:SNMP消息的应用与解析
- 白河子成绩查询系统2.0升级版发布
- Flutter克隆Linktree:打造Web应用实例教程
- STM32F103基础之MS5单片机系统应用详解
- 跨平台分布式Minecraft服务端:dotnet-MineCase开发解析
- FileZilla FTP服务器搭建与使用指南
- VB洗浴中心管理系统SQL版功能介绍与源码分析
- Java环境下的meu-grupo-social-api虚拟机配置
- 绿色免安装虚拟IE6浏览器兼容Win7/Win8