C,设置textBox只能输入数字(正数,负数,小数)简单实现,眉毛修图教程新手视频

在开发界面输入界面时,经常遇到需要限制用户输入的情况。比如只允许输入数字、字母等等。在C#中可以通过控件的属性设置来限制用户输入。本文将简单实现设置textBox只能输入数字(正数、负数、小数),并深度讲解相关知识。

1. 设置只能输入数字

首先需要在textBox的KeyPress事件中进行输入判断,只有按下的键是数字键或Backspace键才可以输入,其他键位均不能输入。可以使用Char.IsDigit方法来判断当前输入的键是否是数字键。

示例代码:

```

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

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

{

e.Handled = true;

}

}

```

其中,e.KeyChar代表当前按下的键。如果不是数字键并且不是Backspace键,则e.Handled设置为true,表示该键无法输入。

2. 设置只能输入正数

在上述代码基础上,只需要再添加一个判断,如果输入的数字小于等于0则无法输入即可。

示例代码:

```

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

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

{

e.Handled = true;

}

else if (e.KeyChar != (char)8 && Convert.ToDecimal(textBox1.Text + e.KeyChar.ToString()) <= 0)

{

e.Handled = true;

}

}

```

其中,Convert.ToDecimal(textBox1.Text + e.KeyChar.ToString())代表输入当前按下键后textBox1中的值。如果该值小于等于0,则代表输入的不是正数。

3. 设置只能输入小数

在上述代码基础上,再添加一个判断,判断输入的键是否为小数点。如果是小数点,则继续判断小数点后面的数字位数是否超过2位。

示例代码:

```

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

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

{

e.Handled = true;

}

else if (e.KeyChar == '.' && textBox1.Text.Contains('.'))

{

e.Handled = true;

}

else if (e.KeyChar != (char)8 && !Char.IsDigit(e.KeyChar) && textBox1.Text.Contains('.'))

{

if (textBox1.Text.Substring(textBox1.Text.IndexOf('.')).Length >= 3)

{

e.Handled = true;

}

}

}

```

其中,textBox1.Text.Contains('.')判断当前textBox1中是否已经有小数点,如果已经有则无法输入。textBox1.Text.IndexOf('.')代表小数点在textBox1中的位置,textBox1.Text.Substring(textBox1.Text.IndexOf('.'))代表小数点后面的数字位。如果小数点后面的数字位数大于等于3,则无法输入。

4. 设置只能输入正数和负数

如果需要限制用户输入正数或负数,只需要在第一步代码中稍作修改即可。如果按下的键不是数字键、Backspace键以及负号符号(-),则无法输入。

示例代码:

```

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

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

{

e.Handled = true;

}

else if ((e.KeyChar == '-' && textBox1.SelectionStart != 0) || (e.KeyChar == '-' && textBox1.Text.Contains('-')))

{

e.Handled = true;

}

else if (e.KeyChar != (char)8 && Convert.ToDecimal(textBox1.Text + e.KeyChar.ToString()) <= 0)

{

e.Handled = true;

}

}

```

其中,textBox1.SelectionStart代表当前光标在textBox1中的位置。如果此时按下的是负数符号且光标不在最前面,则无法输入。

5. 总结

限制用户输入可以提高用户输入体验,同时也可以避免输入错误。在本文中我们简单实现了设置textBox只能输入数字(正数、负数、小数),并深度讲解了相关知识。需要注意的是,在输入小数时需要注意保留小数位数,避免输入数据错误。

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

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

点赞(39) 打赏

评论列表 共有 0 条评论

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