C# 自动设置文本框上的最小值和最大值
我想让文本框在用户将值置于最大值之上时自动设置最大值。示例最小值为0,最大值为255。当用户在文本框中输入999时,它会自动将最大值设置为255。当用户在文本框上输入-11时,它会自动将最小值设置为0。您可以在下面看到gif动画的工作原理C# 自动设置文本框上的最小值和最大值,c#,.net,winforms,textbox,C#,.net,Winforms,Textbox,我想让文本框在用户将值置于最大值之上时自动设置最大值。示例最小值为0,最大值为255。当用户在文本框中输入999时,它会自动将最大值设置为255。当用户在文本框上输入-11时,它会自动将最小值设置为0。您可以在下面看到gif动画的工作原理 我尝试了if-else语句,但它无法将字符串转换为int使用文本框的ontextchange事件 在事件检查中: if (int.Parse(textBox.Text) > MAX_VALUE) { textBox.Text = MAX_VAL
我尝试了
if-else
语句,但它无法将字符串转换为int
使用文本框的ontextchange事件
在事件检查中:
if (int.Parse(textBox.Text) > MAX_VALUE) {
textBox.Text = MAX_VALUE;
}
您应该在每个需要此功能的文本框上设置此选项 它只需检查文本框的
文本
,如果它是数字,则检查范围并应用适当的值
yourtextbox.TextChanged+= (s, e) =>
{
var textbox = s as TextBox;
int value;
if (int.TryParse(textbox.Text, out value))
{
if (value > 255)
textbox.Text = "255";
else if (value < 0)
textbox.Text = "0";
}
}
yourtextbox.TextChanged+=(s,e)=>
{
var textbox=s作为textbox;
int值;
if(int.TryParse(textbox.Text,out值))
{
如果(值>255)
textbox.Text=“255”;
else if(值<0)
textbox.Text=“0”;
}
}
或使用专门为此目的而制作的数字向上向下
。@dotctor如果最小值为5,您应该键入15怎么办?您将无法执行此操作,因为当您键入1时,验证将失败,并且您将无法键入5。