我想限制textBox可以显示的按钮输入的位数

时间:2017-02-11 18:44:22

标签: c#

我想构建一个简单的计算器,我有一个textBox,显示用户点击的数字,我想让textBox在每个数字中只接受32位数字(MaxLength属性仅在输入时有效)用键盘而不是按钮)!

enter image description here

3 个答案:

答案 0 :(得分:0)

在将下一个数字添加到文本框中显示的字符串之前,请检查其长度。如果太大则不添加它

答案 1 :(得分:0)

单击按钮时,您将文本添加到文本框中,因此如果文本框的字符数超过32,则不要添加文本。您可以做的另一件事如下。

告诉事件处理程序您已按照以下方式处理它:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    var box = sender as TextBox;
    e.Handled = box.Text.Length == 32;
}

你可以做的另一件事是在长度为32时禁用所有按钮。显然你需要在文本框的KeyPress事件处理程序中执行此操作。

答案 2 :(得分:0)

是的,我已经这样做了,以阻止textBox接受超过9位的数字

private void button1_Click(object sender, EventArgs e)
    {
        if (textBox1.Text.Length < 9)
        {
            textBox1.Text += "1";
        }
    }

    private void button2_Click(object sender, EventArgs e)
    {
        if (textBox1.Text.Length < 9)
        {
            textBox1.Text += "2";
        }

    }

    private void button5_Click(object sender, EventArgs e)
    {
        if (textBox1.Text.Length < 9)
        {
            textBox1.Text += "5";
        }
    }

    private void button7_Click(object sender, EventArgs e)
    {
        if (textBox1.Text.Length < 9)
        {
            textBox1.Text += "7";

        }
    }

    private void button8_Click(object sender, EventArgs e)
    {
        textBox1.Text += "8";
    }

    private void button9_Click(object sender, EventArgs e)
    {
        if (textBox1.Text.Length < 9)
        {
            textBox1.Text += "9";
        }


    }

    private void button4_Click(object sender, EventArgs e)
    {
        if (textBox1.Text.Length < 9)
        {
            textBox1.Text += "4";
        }

    }

    private void button6_Click(object sender, EventArgs e)
    {

        if (textBox1.Text.Length < 9)
        {
            textBox1.Text += "6";

        }
    }
    private void button3_Click(object sender, EventArgs e)
    {
        if (textBox1.Text.Length < 9)
        {
            textBox1.Text += "3";

        }
    }