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

在WinForm应用程序中,限制TextBox只能输入数字有几种常用方法。下面将详细介绍这几种方法,并提供相应的代码示例和案例说明。

方法一:使用KeyPress事件

通过TextBox的KeyPress事件,可以捕捉用户键盘输入的字符,然后判断是否为数字。如果输入的字符不是数字,则将其忽略。

代码示例:

```csharp

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsDigit(e.KeyChar) && e.KeyChar != '\b')

{

e.Handled = true;

}

}

```

案例说明:

当用户在TextBox中输入字符时,KeyPress事件会被触发。在事件处理程序中,判断输入的字符是否为数字或backspace键(\b),如果不是,则将事件标记为已处理(Handled=true),这样输入的字符就不会显示在TextBox中。

方法二:使用TextChanged事件

通过TextBox的TextChanged事件,可以实时监测用户输入的内容。在事件处理程序中,可以将输入的内容与数字进行匹配,如果不是数字,则清空TextBox的内容。

代码示例:

```csharp

private void textBox1_TextChanged(object sender, EventArgs e)

{

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

{

textBox1.Text = "";

}

}

```

案例说明:

当用户在TextBox中输入内容或删除内容时,TextChanged事件会被触发。根据用户输入的内容,尝试将其转换为整数。如果转换失败,则说明输入的内容不是数字,将TextBox的内容清空。

方法三:使用正则表达式

通过正则表达式可以匹配数字的模式,将其应用于TextBox的输入验证上,只有满足数字模式的输入才会被接受。

代码示例:

```csharp

private void textBox1_Validating(object sender, CancelEventArgs e)

{

if (!Regex.IsMatch(textBox1.Text, "^[0-9]+$"))

{

MessageBox.Show("请输入数字!");

textBox1.Focus();

}

}

```

案例说明:

在TextBox失去焦点时,Validating事件会被触发。在事件处理程序中,使用正则表达式^[0-9]+$匹配数字的模式,如果输入的内容不满足该模式,则弹出提示消息框,并将焦点重新设置到TextBox上。

以上是WinForm中只能输入数字的几种常用方法。根据具体需求,可以选择适合的方法,来实现对TextBox的输入限制。

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

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

点赞(79) 打赏

评论列表 共有 0 条评论

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