C,-WinForm-Winform,TextBox中只能输入数字的几种常用方法...,python教程百度网盘资源

WinForm中的TextBox控件是用来输入文本信息的工具,但有时我们需要限制输入的内容。例如,我们希望某文本框中只能输入数字,这时就可以通过以下几种方法实现。

1. 使用KeyPress事件

KeyPress事件在用户按下键时触发,我们可以在该事件中判断当前输入的字符是否是数字或控制字符,如果不是,则手动删除该字符。示例如下:

```C#

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))

{

e.Handled = true;

}

}

```

这段代码中,IsControl()方法用来判断是否为控制字符(例如退格键),IsDigit()方法用来判断是否为数字。如果输入的字符既不是控制字符又不是数字,则将Handled属性设置为true,表示此事件已经处理完毕,不需要再向上传递。

2. 使用TextChanged事件

TextChanged事件在文本框的内容发生改变时触发,我们可以在该事件中判断当前输入的字符是否为数字或控制字符,如果不是,则手动删除该字符。示例如下:

```C#

private void textBox1_TextChanged(object sender, EventArgs e)

{

string input = textBox1.Text;

StringBuilder builder = new StringBuilder();

foreach (char c in input)

{

if (char.IsDigit(c))

{

builder.Append(c);

}

}

textBox1.Text = builder.ToString();

textBox1.SelectionStart = builder.Length;

}

```

这段代码中,我们使用StringBuilder类来创建一个新的字符串,只将其中的数字保留下来。遍历输入的每个字符,如果是数字,则添加到builder中。最后将builder转换为字符串,并将其赋值给文本框。同时将光标位置设为文本框的末尾,保证在输入过程中光标始终在最后。

3. 使用正则表达式

正则表达式是一种通过字符模式来匹配和查找字符串的方法,可以用来判断字符串是否符合某种格式。例如,我们可以使用正则表达式来判断一个字符串是否为数字。示例如下:

```C#

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

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

if (regex.IsMatch(e.KeyChar.ToString()))

{

e.Handled = true;

}

}

```

这段代码中,我们使用正则表达式[^\d\b]来匹配非数字和退格键。如果输入的字符符合该模式,则将事件标记为已处理,否则将其传递给上一级处理。

以上就是TextBox中只能输入数字的几种常用方法,通过这些方法我们可以轻松地限制用户输入的内容。

购买后如果没出现相关链接,请刷新当前页面!!!
链接失效的请留言 ,我看见了就补上!!!

网站内容来源于互联网,我们将这些信息转载出来的初衷在于分享与学习,这并不意味着我们站点对这些信息的观点或真实性作出认可,我们也不承担对这些信息的责任。
适度游戏益脑,沉迷游戏伤身。 合理安排时间,享受健康生活。适龄提示:适合18岁以上使用!

点赞(37) 打赏

评论列表 共有 0 条评论

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