C -WinForm-Winform TextBox中只能输入数字的几种常用方法...

在WinForm的TextBox控件中,限制用户只能输入数字有很多种方法。下面将介绍几种常用的方法,并给出具体的案例说明。

方法一:使用KeyPress事件和Char.IsDigit方法

1. 在设计界面上选择一个TextBox控件,命名为textBox1。

2. 在代码中,为textBox1的KeyPress事件添加以下代码:

```c#

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

// 如果输入的不是数字

if (!Char.IsDigit(e.KeyChar) && e.KeyChar != 8)

{

e.Handled = true;

}

}

```

该方法通过KeyPress事件来捕获用户的按键输入,并使用Char.IsDigit方法判断输入的字符是否为数字(0-9)。如果输入的字符不是数字且不是退格键(ASCII码为8),则将Handled属性设置为true,即不处理该按键。

方法二:使用KeyPress事件和正则表达式

1. 在设计界面上选择一个TextBox控件,命名为textBox1。

2. 在代码中,为textBox1的KeyPress事件添加以下代码:

```c#

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

// 创建一个正则表达式,只匹配数字

Regex regex = new Regex("[^0-9]");

// 如果输入的字符不是数字

if (regex.IsMatch(e.KeyChar.ToString()) && e.KeyChar != 8)

{

e.Handled = true;

}

}

```

该方法通过KeyPress事件来捕获用户的按键输入,并使用正则表达式判断输入的字符是否为数字(0-9)。如果输入的字符不是数字且不是退格键(ASCII码为8),则将Handled属性设置为true,即不处理该按键。

方法三:使用TextChanged事件和TryParse方法

1. 在设计界面上选择一个TextBox控件,命名为textBox1。

2. 在代码中,为textBox1的TextChanged事件添加以下代码:

```c#

private void textBox1_TextChanged(object sender, EventArgs e)

{

// 尝试将TextBox的文本转换为数字,如果转换失败,则清空TextBox的文本

int result;

if (!int.TryParse(textBox1.Text, out result))

{

textBox1.Text = "";

}

}

```

该方法通过TextChanged事件来捕获用户对TextBox的文本修改,并使用int.TryParse方法尝试将文本转换为整数。如果转换失败,则说明输入的不是数字,清空TextBox的文本。

以上是常用的三种方法,分别使用了KeyPress事件、TextChanged事件和TryParse方法。你可以根据自己的需求选择适合的方法来限制用户只能输入数字。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(59) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部