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

时间:2014-11-09 12:43:24

标签: c# .net winforms textbox

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

http://i.stack.imgur.com/93Tqg.gif

我曾尝试if else语句,但无法将字符串转换为int

2 个答案:

答案 0 :(得分:4)

使用textbox textchanged事件 在事件检查中:

if (int.Parse(textBox.Text) > MAX_VALUE) {
    textBox.Text = MAX_VALUE;
}

答案 1 :(得分:4)

您应该在希望此功能的每个文本框中设置此项。

它只是检查文本框的Text是否为数字,然后检查范围并应用适当的值

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";
    }
}