Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自动设置文本框上的最小值和最大值_C#_.net_Winforms_Textbox - Fatal编程技术网

C# 自动设置文本框上的最小值和最大值

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

我想让文本框在用户将值置于最大值之上时自动设置最大值。示例最小值为0,最大值为255。当用户在文本框中输入999时,它会自动将最大值设置为255。当用户在文本框上输入-11时,它会自动将最小值设置为0。您可以在下面看到gif动画的工作原理


我尝试了
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。