MaskedTextBox Минимальная / Максимальная Длина - PullRequest
0 голосов
/ 02 февраля 2011

У меня есть замаскированное текстовое поле с необходимостью установить минимальную / максимальную длину на них.Когда эти условия выполняются, кнопка становится активной.

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

Есть ли лучший подход?

 btnOK.Enabled = txtDataEntry.Text.Length >= MinDataLength && txtDataEntry.Text.Length <= MaxDataLength;

Ответы [ 3 ]

0 голосов
/ 02 февраля 2011

Какой подход может быть даже проще, чем вы предлагаете?

myTextBox.Textchanged+=(s,o)=>{ myButton.Enabled = myTextBox.Length==10; };
0 голосов
/ 15 июля 2014

// На вашем тексбоксе текдботинг

    private void textBox4_Validating(object sender, CancelEventArgs e)
    {
        TextBox tb = sender as TextBox;
        if (tb != null)
        {
            int i=tb.Text.Length;
            //Set your desired minimumlength here '7'
            if (i<7)
            {

                MessageBox.Show("Too short Password");
                return;

            }
        }
        else

        e.Cancel = true;
    }
0 голосов
/ 02 февраля 2011

Событие IMO TextChanged является хорошим местом для обработки этого условия функции.

Обновление

Сделайте это в событии KeyPress следующим образом:

maskedtxtbox.KeyPress => (s , ev ) { 
                    if(maskedtxtbox.Length > 9)
                    {
                       //This prevent from key to go to control
                       e.Handled =true;
                       button1.Enabled = true;
                    } 
                 };
...