2011-02-02 12 views
0

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

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

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

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

ответ

0

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

myTextBox.Textchanged+=(s,o)=>{ myButton.Enabled = myTextBox.Length==10; }; 
+0

См. обновленный вопрос. Как я могу помешать им вводить больше максимальной длины? – Jon

+1

В TextBox есть свойство * MaxLength *, которое создано для этого случая :) – codymanix

0

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

Update

ли это в случае KeyPress, как это:

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

См обновленный вопрос. Как я могу помешать им вводить больше максимальной длины? – Jon

+0

Я обновил свой ответ –

+0

Что такое e.handled делать? – Jon

0

// В вашем texbox valdating Event

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; 
    } 
Смежные вопросы