|
1 / 1 / 0
Регистрация: 07.01.2013
Сообщений: 27
|
|
MaskedTextBox - проверка вводных данных для времени12.02.2016, 12:38. Показов 6890. Ответов 7
Метки нет (Все метки)
Создал на форме MaskedTextBox1 с маской времени (mask - Time): 00:00. Есть ли готовые решения подключить фильтр (??) на вводимые данные, так как в поля можно загнать 99:99 часов/минут и все это проглатывается в string. Или же вручную прописывать фильтр час = 0...23 + мин = 0...59, при этом проверить длину введенного string = 4;
0
|
|
| 12.02.2016, 12:38 | |
|
Ответы с готовыми решениями:
7
MaskedTextBox - проверка на пустоту
|
|
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
||||||
| 12.02.2016, 14:19 | ||||||
|
EgorDS,
можно проверить валидность так:
1
|
||||||
|
1 / 1 / 0
Регистрация: 07.01.2013
Сообщений: 27
|
|||||||||||
| 12.02.2016, 16:56 [ТС] | |||||||||||
|
Вот код обработчика, для отладки ввел лишние промежуточные переменные. При нажатии Enter, глобальные int32 h1 и m1 получают значения Час и минута. Строка " panel6.Focus() " переводит фокус (пока без разницы куда) что бы снять курсор с maskedTextBox1.
DateTime - структура , к примеру DateTime(Int32, Int32, Int32, Int32, Int32, Int32) - Инициализирует новый экземпляр структуры DateTime заданным годом, месяцем, днем, часом, минутой и секундой. if (!DateTime.TryParse((sender as MaskedTextBox).Text, out time)) - все очень просто но не фига не понял. С языком С# (программированием) только начал знакомится. Вообще изначальная задача - по временным точкам (час : мин) изменять условия значения x. Временные точки проходят через полночь. Но абсолютное значение год/ месяц/ день/ минута вводить не желательно так как программа запускается заново каждый рабочий день вечером. к стати быть может сделать так :? 1. создаем DateTime(Int32, Int32, Int32, Int32, Int32, Int32). значение Hour присваиваем первые два значения maskedTextBox1 - ловим исключение1 значение minute присваиваем последние два значения maskedTextBox1 - ловим исключение2 по исключениям определяем игнорить ввод данных и очистить maskedTextBox1 либо выполнять дальше программу.... - или за такой алгоритм мне выколют глаза... ? Добавлено через 9 минут Часть кода подглядел отсюда: Избавление от звукового сигнала при нажатии на клавишу Enter
0
|
|||||||||||
|
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
||||||||||||
| 12.02.2016, 17:01 | ||||||||||||
|
В строке:
Если невозможно, то курсор просто не выйдет из MaskedTextBox. Плюс сообщение об ошибке. Можно при этом установить значение времени по умолчанию:
0
|
||||||||||||
|
1 / 1 / 0
Регистрация: 07.01.2013
Сообщений: 27
|
|
| 13.02.2016, 19:55 [ТС] | |
|
За код спасибо. Поставил - все работает. Кроме строки
7. e.Cancel = true; Уже не в первый раз попадается и не могу понять для чего. Пришлось убрать так как компилятор ругался на нее. if (!DateTime.TryParse((sender as MaskedTextBox).Text, out time)) - не хватает опыта что бы полностью разобраться. Даже Погуглив в инете. MaskedTextBox - это уже не имя - а тип ? Собственно вот что имеем: На форме несколько maskedTextBox1(2.3...). Ввод данных прописал через Enter. Заметил что в работе мышкой можно сменить фокус с одного maskedTextBox1 на другой, для корректности сделал событие на потерю фокуса Validated с записью в maskedTextBox1(2.3...) истинного значения. Хотелось бы доработать и сделать так что бы в maskedTextBox1(2.3...) мог принять значение (с проверкой) при смене фокуса. Только вот указанный код проверки уже не работает, так как фокус с maskedTextBox1(2.3...) снят. if (!DateTime.TryParse((sender as MaskedTextBox).Text, out time))
0
|
|
|
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
|||||||
| 13.02.2016, 20:15 | |||||||
|
Ничего не понял из
0
|
|||||||
|
1 / 1 / 0
Регистрация: 07.01.2013
Сообщений: 27
|
||||||
| 13.02.2016, 20:32 [ТС] | ||||||
|
Видимо я не правильно построил алгоритм. так как использовал обработчик нажатия клавиш:
0
|
||||||
|
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
|
| 13.02.2016, 21:09 | |
|
EgorDS,
В моем примере обрабатывается не KeyPress, а Validating.
0
|
|
| 13.02.2016, 21:09 | |
|
Помогаю со студенческими работами здесь
8
Значение пустого maskedTextBox (в формате времени) при переносе в БД SQL server Вывод свойств согласно вводных данных Проверка корректности введенных данных в TextBox в реальном времени Форма для приема даты и времени, проверка значений и вывод результатов Получить из базы данных в MaskedTextBox дату рождения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|