3 голоса
 
1012 просмотров
17.12.2017 / 23:21  Витаминыч

Как ограничить ввод в TextBox только целыми числами?

Имеется текстовое поле, стоит задача допустить к вводу только целые числа. Как это можно сделать?
Ловить события - костыль и не подходит, надо решение "попроще" :gg:
18.12.2017 / 06:43  Death
Ну документацию читаей. Если есть возможность, предоставлина, то пользуйся.
А так, только слушателем ловить или, если есть, то используйте фильтр. В javafx он есть)
18.12.2017 / 13:25  Витаминыч
Здорово, что в FX есть, но FX нет под C# и вообще, надо стандартными средствами все сделать.
В доках был пример с парсингом и обрезкой, это вообще дичь :-D
Ответы
 
1 голос
 
# 18.12.2017 / 13:23  Витаминыч
В общем, ничего нового не придумал - либо событие нажатия кнопок, либо ввод по маске. В рамках задачи первое может подойти, второе точно нет.

Собственно, поддержка ввода только цифр и клавиши Backspace
  1. private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
  2. {
  3.     if (!Char.IsDigit(e.KeyChar) && (e.KeyChar != 8))
  4.     {
  5.         e.Handled = true;
  6.     }
  7. }

Лаба по дельфям, может, там как-то можно очевидным путем сделать (что-то на подобии edit1.InputMode = ImDigit;), я же решил на C# быстренько сделать, и тут не очень разгуляешься при выборе элементов для формы :-D Тот же Memo - в С# этот же TextBox, только со свойством MultiLine = true :gg:
Всего: 1

Реклама

Мы в соцсетях

tw tg yt gt