|
3 / 3 / 2
Регистрация: 11.01.2019
Сообщений: 125
|
|
Как сделать маску для ввода чисел в TextBox ?16.06.2022, 10:56. Показов 3626. Ответов 19
Метки нет (Все метки)
Добрый день! Подскажите, пожалуйста, как сделать маску при вводе чисел для поля TextBox?
Пример: 5350127.55 должно выглядеть при вводе как 5 350 127.55 или 5,350,127.55 К сожалению, в TextBox видимо нет встроенных свойств учета маски ввода. Желательно, чтобы при вводе был контроль на ввод только чисел. Спасибо.
0
|
|
| 16.06.2022, 10:56 | |
|
Ответы с готовыми решениями:
19
Как сделать маску в TextBox для ввода e-mail Как сделать маску в TextBox для ввода номера телефон Можно ли сделать для TextBox маску ввода? |
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 16.06.2022, 14:34 | |
|
ykr, а вам как хотелось бы: Текст заносится по маске при выходе и текстбокса (это проще) или маска отслеживалась при вводе, т.е. изменение во время ввода цифр?
0
|
|
|
3 / 3 / 2
Регистрация: 11.01.2019
Сообщений: 125
|
|
| 16.06.2022, 15:56 [ТС] | |
|
Burk, лучше конечно иметь маску именно при вводе чисел, а не после выхода из TextBox.
Понимаю, что нужно как то группировать вводимые цифры на миллионы, тысячи и т.д. и на ходу перестраивать с учетом предполагаемой маски. Можно предположить, что максимальное число это миллиарды.....то маска будет ###,###,###,###.## Возможно, что нужно ждать ввода точки "." и после этого перестраивать вид в поле. Но как быть, если это число будет целым? Конечно рядом можно вставить еще один TextBox2 и выводить число в это поле с применением Format с нужной маской, но это уже другой подход. Нашел как сделать контроль на ввод чисел в TextBox и запрет ввода букв и спецсимволов.
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 16.06.2022, 16:24 | |
|
ykr, вводить только числа это достаточно просто,но ещё надо учитывать исправление, удаление цифр пользователем и, вследствие этого, изменение троек чисел. Посмотрю.
Добавлено через 12 минут ykr, а вы хотите видеть ххх в тектбоксе или после ввода трех цифр просто вставить пробел и сдвигать положение курсора вправо (влево) и окончательно проверить маску при выходе или при вводе точки?
0
|
|
|
3 / 3 / 2
Регистрация: 11.01.2019
Сообщений: 125
|
|
| 16.06.2022, 20:05 [ТС] | |
|
Burk, давайте как проще.
Можно конечно сразу визуализировать маску в поле. Например, в поле при открытии формы может быть написано: (xxx),(xxx),(xxx),(xxx).xx или xxx,xxx,xxx,xxx.xx или xxx xxx xxx xxx.xx т.е выбрать разделитель между знаками, как параметр. При заполнении поля пользователь заранее должен ставить в нужную группу числа. Выбрать миллиарды собирается заполнять или миллионы или тысячи. Курсор должен по идее двигаться вправо по мере заполнения маски и перескакивать вправо в следующую группу, по мере заполнения поля. Итак, до заполнения дробной части, если она есть. Если нужно, исправить число, то исправляются нужные позиции в определенной группе. Число окончательно визуализируется после выхода из поля. Вариант2, он проще. Вводится число до точки .xx и после выхода из поля число визуализируется. Но в обоих вариантах остается вопрос, что делать после выхода с поля, с визуализацией незаполненных позиций? Оставлять незаполненные решетки "##7,#45" - нет смысла, после выхода с поля их нужно убирать. Ну, а если возвращаться в поле для коррекции числа нужно обратно маску возвращать, с ранее заполненным числом. В общем все как-то усложняется. Может есть уже ранее придуманный простой вариант работы с маски чисел?
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
||||||
| 17.06.2022, 02:52 | ||||||
|
вариант в лоб
пропускает только числа с одной точкой и двумя знаками после точки разделители разрядов пробелы Кликните здесь для просмотра всего текста
0
|
||||||
|
3 / 3 / 2
Регистрация: 11.01.2019
Сообщений: 125
|
|
| 17.06.2022, 11:48 [ТС] | |
|
Alex77755, все работает как и нужно.
Маску можно менять при желании. Воспринимаются только цифры. Спасибо большое!!! Вот ниже ссылки, которые были весьма полезны по обсуждаемой теме. https://www.planetaexcel.ru/fo... &TID=15227 Авто коррекция ввода даты в TextBox Фильтр ввода в textbox Как сделать маску в TextBox для ввода номера телефон Как сделать маску в TextBox для ввода e-mail Разрешить ввод в текстбокс только цифр Как задать маску ввода для texbox?
0
|
|
|
3 / 3 / 2
Регистрация: 11.01.2019
Сообщений: 125
|
|
| 18.06.2022, 23:15 [ТС] | |
|
Alex77755, прошу прощения, а как ваш вариант маски
сделать более универсальным? например, для ввода Даты в texbox. формат dd.mm.yyyy или dd/mm/yyyy попробовал такую логику: ввод двух цифр и автоматом ставится точка в поле. Еще две цифры и опять ставится точка. А далее может быть ввод двух или четырех цифр. если 2022, тогда ввод оконсен и пропускается число, если ввели две цифры, только 22 или иное., тогда добавляется к веденному 20. В итоге год выглядит как 2022, 2023 и т.д Но вот возникают нюансы при коррекции даты. удаляя одну цифру...все сдвигается и плывет. А если вместе с точкой, то тем более, все становится некорректным. Как тут можно контроль настроить ?
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|||||||
| 19.06.2022, 03:07 | |||||||
несколько проверок корректности ввода сделал но не все Месяц не может начинаться с 2 и выше день не может начинаться с 4 и выше и не может быть больше 31 для ввода корректной даты проще использовать календарь. Их полно разных. Вызвать календарь и выбрать дату Кликните здесь для просмотра всего текста
0
|
|||||||
|
3 / 3 / 2
Регистрация: 11.01.2019
Сообщений: 125
|
|
| 19.06.2022, 10:27 [ТС] | |
|
Alex77755, добрый день!
спасибо! проверю вечером и отпишусь. да проверок оказалось больше, чем изначально предполагал. Насчет календаря, то рад бы его применить, но его нет в Офисе 2013, 2016, 2019. Раньше был и я им польщовался в Access. Попробовал поискать, но под VBA не нашел. Есть .Net и другие...., там и TextBox имеет свойство Маска. Может у вас есть ссылка на календарь для VBA?
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 19.06.2022, 13:58 | |
|
Да календарей самодельных море
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 19.06.2022, 14:21 | |
|
Вот немного допилил и сохранил в надстройку
Вызов через контекстное меню Дату возвращает в активную ячейку
0
|
|
|
3 / 3 / 2
Регистрация: 11.01.2019
Сообщений: 125
|
|
| 19.06.2022, 14:40 [ТС] | |
|
Alex77755,
спасибо, вечером все проверю. насчет календаря понял, он бывает нужен часто. и чаще в эксель форме. Но блин, сейчас форма в вордовском документе создана. Как его пристроить? или запускать и ворд и эксель для календаря?
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 19.06.2022, 14:59 | |
|
В последнем моём сообщении календарь в надстройке
Просто подключить надо и все Будет работать в любой книге вызывается по ПКМ из любой ячейки
0
|
|
|
3 / 3 / 2
Регистрация: 11.01.2019
Сообщений: 125
|
|
| 19.06.2022, 22:45 [ТС] | |
|
Alex77755, попробовал ввод даты в TextBox.
при вводе даты dd.mm.yyyy все отрабатывает как нужно. Коррекция даты есть только, если год нужно ввести другой. коррекции даты и месяца нет...там все сдвигается, что впрочем мы и предполагали..что с этим бороться излишне.. Поэтому, действительно, если ввел дату с ошибкой нужно выделить все поле, удалить что там было и заново ввести всю дату. Что касается календаря и надстройки. Я правильно понимаю, что этот календарь можно будет использовать только при работе с Excel ? Пока не получилось надстройку подключить...архив сохранил..файлы извлек... При подключении пишет-file not found. Завтра буду разбираться, что и почему не находит. Спасибо за помощь!
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 20.06.2022, 02:47 | |
|
Да этот календарь написан на VBA для екселя и работает только с екселем
запаковал другим архиватором
0
|
|
|
3 / 3 / 2
Регистрация: 11.01.2019
Сообщений: 125
|
|
| 20.06.2022, 15:56 [ТС] | |
|
Alex77755, добрый день! Надстройка установилась. Но в контекстом меню ее не видно.
Использую офис 2019. Как ее вызвать, можете эксель лист с примером вложить? Буду признателен, спасибо!
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
||
| 20.06.2022, 16:33 | ||
|
какой лист? я выложил надстройку просто запустите ексел и просто откройте файл Calendar_UserForm_н.xla Или подключите её стандартным способом: Файл - Параметры - Настройки - Внизу окна Надстройки ексел - перейти - Обзор - и указать путь к надстройке
0
|
||
|
3 / 3 / 2
Регистрация: 11.01.2019
Сообщений: 125
|
|
| 20.06.2022, 16:33 [ТС] | |
|
Alex77755, Отбой! Все ОК - Календарь в меню появился, вызывается и устанавливает дату в активную ячейку.
Нужно было перезапустить офис или перегрузиться. Жаль, что нет подобного календаря для Ворда! Спасибо еще раз!
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
||
| 21.06.2022, 06:10 | ||
Но не уверен, что нельзя сделать. Скорей всего можно
0
|
||
| 21.06.2022, 06:10 | |
|
Помогаю со студенческими работами здесь
20
Как сделать маску ввода для дбэдита?
Как ограничить ввод информации или задать маску ввода в компонент textBox?
Как сделать маску ввода в DbEdit? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|