如何判断winform中的textbox只能输入数字,并且判断是否为空
时间: 2024-03-18 09:41:54 浏览: 169
可以使用 `KeyPress` 事件和 `TextChanged` 事件来实现输入判断和空值判断。
首先,使用 `KeyPress` 事件来判断输入的字符是否是数字或控制键,如果不是则禁止输入:
```csharp
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// 如果输入的不是数字或控制键,则禁止输入
if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
{
e.Handled = true;
}
}
```
上面的代码中,使用 `char.IsDigit()` 方法来判断输入的字符是否是数字,使用 `char.IsControl()` 方法来判断输入的字符是否是控制键(如 Backspace、Delete 等),如果都不是,则将 `Handled` 属性设置为 `true`,禁止输入。
然后,使用 `TextChanged` 事件来判断文本框是否为空:
```csharp
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(textBox1.Text))
{
// 如果文本框为空,则执行相应的操作
}
else
{
// 如果文本框不为空,则执行相应的操作
}
}
```
上面的代码中,使用 `string.IsNullOrWhiteSpace()` 方法来判断文本框的内容是否为空。如果为空,则执行相应的操作;如果不为空,则执行相应的操作。
将上面两段代码结合起来,就可以实现文本框只能输入数字并且不能为空的功能了。
阅读全文