租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

C#中如何限制TextBox控件内输入值的范围

发布时间:2023-08-17 07:55:38

C#中如何限制TextBox控件内输入值的范围

要限制TextBox控件内输入值的范围,可使用以下方法:
1. 使用Validating事件:在Validating事件中,可以检查输入值是否是在指定范围内,并根据需要显示毛病消息或取消焦点以禁止用户离开TextBox控件。以下是一个示例:
```csharp
private void textBox_Validating(object sender, CancelEventArgs e)
{
TextBox textBox = (TextBox)sender;
int value;
if (!int.TryParse(textBox.Text, out value) || value < 0 || value > 100)
{
e.Cancel = true;
MessageBox.Show("输入值一定要在0到100之间");
textBox.SelectAll();
textBox.Focus();
}
}
```
2. 使用KeyPress事件:在KeyPress事件中,可以检查每一个按键输入,并根据需要禁止特定按键或字符的输入。以下是一个示例:
```csharp
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
```
在上述示例中,只允许输入数字和控制字符,这将限制输入值的范围。您还可以根据需要添加其他逻辑来限制输入值的范围。
请注意,这些示例仅限于整数值的范围限制。如果需要限制其他类型的值或更复杂的限制逻辑,可能需要进行适当的修改。