Тест размера почтового индекса C#

У меня есть небольшой фрагмент кода, который я пытался заставить работать, но нет. Вот я и пришел к специалистам. Я пытаюсь проверить запись почтового индекса и ограничить ее только 5 цифрами. Моя первая проблема связана с прикрепленным кодом. Кажется, он неправильно считает длину. Кроме того, как я могу ограничить пользователя, чтобы, если он попытается ввести 6-й символ, он не будет отображаться или приниматься?

private void textBoxZip_TextChanged(object sender, EventArgs e)
    {
        String userInputString;
        int length,
            max = 5;

        userInputString = textBoxZip.Text;
        numberTest(userInputString);

        length = userInputString.Length;
        if (length > max)
        {
            labelErrorMessage.Text = "Maximum length 5 numbers";
        }
    }

person user2297683    schedule 19.04.2013    source источник


Ответы (3)


Я думаю, используя MaskedTextBox будет простым решением. Это позволит вам легко принимать только определенное количество символов в указанном формате.

MaskedTextBox — это стандартный элемент управления .NET на панели инструментов элемента управления в Visual Studio.

person Inisheer    schedule 19.04.2013
comment
Это было отличное предложение, поскольку оно исправило пару проблем, которые у меня были в другом месте. Вопрос однако. Есть ли способ заставить ________ уйти? Я просто хочу пустое место. - person user2297683; 19.04.2013
comment
К сожалению, я не знаю, как избавиться от этой строки. - person Inisheer; 19.04.2013
comment
Нашел ответ здесь: stackoverflow.com/questions /1459797/ - person user2297683; 19.04.2013

Вы должны посмотреть на события KeyDown и KeyPress. См. пример в Событие MSDN Control.KeyPress

person Lex    schedule 19.04.2013

Если вы работаете в приложении WinForms, вы можете ограничить длину текстового поля, установив свойство MaxLength.

person Narsters    schedule 19.04.2013