• TextBox: фільтрування символів

    2016-08-29 13:58:39

    Поділитися в Facebook Поділитися ВКонтакте Поділитися в Однокласниках

    Обробка символів, що вводяться у TextBox для уникнення некоректного формату чисел (порядкові номери, грошові суми тощо).

    Дозволимо введення в поле TextBox лише чисел типу DOUBLE (DECIMAL). Для цього обробимо подію onKeyPress.

    private void tbx_rank_KeyPress (object sender, KeyPressEventArgs e)
    {
    
     if (tbx_rank.Text.Contains(",")) {
      tbx_rank.MaxLenght = tbx_rank.Text.Trim().IndexOf(",") + 3}
     }
     else {
      tbx_rank.MaxLenght = 6;
     }
    
     char kChar = e.KeyChar;
    
     if ((kChar < 48 || kChar > 57) && kChar != 8) // 48-57 - цифри, 8 - backspace
     {e.handled = true;}
    
     if (kChar == ",") { // обробка введення коми
      if (tbx_rank.Text.Trim().Contains(",") || tbx_rank.Text.Trim() == "")
      {e.Handled = true;}
      else {e.Handled == false;}
     }
    
    }