![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 1 Всего: 4 |
как вводить в ТекстовеПоля тока определенные символы, например цыфры.
В других языках есть метод restrict, пытаюсь нати аналог, ибо отслеживать нажатия клавиш тупо -------------------- |
|||
|
||||
redrick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 547 Регистрация: 7.1.2004 Где: Москва Репутация: нет Всего: 5 |
может есть чтото типа FormatedTextBox со свойствами, задающими формат ввода данных ?
-------------------- Имею Мнение Хрен Оспоришь |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 6 Всего: 118 |
Я делал так - в событие Valideting (или что-то подобное) пытался сконвертировать в число и ловил эксепшн. Что-то вроде такого (это просто типа эскиза к коду)
|
|||
|
||||
Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 1 Всего: 4 |
а есе я хачу разрешить вводить: точки, запятые, и чот есе
-------------------- |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 6 Всего: 118 |
Ну тогда проверяй на доступные символы теми же регулярными выражениями.
|
|||
|
||||
Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 1 Всего: 4 |
яс, просто думал уже предвдели ткое
-------------------- |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Это ж стандартный TextBox, где ему ![]() Нуна или самостоятельно в Validate проверять формат строки, или юзать какой-нить более продвинутый компонент (с codeproject.com например). -------------------- ![]() |
|||
|
||||
Jlekc |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 520 Регистрация: 10.2.2005 Где: Leopolis Репутация: 1 Всего: 4 |
заль, лада не проблема,
просто видел ТекстБоксы с встроеными валидаторами, инфу на них скидывали как RegExp и не парились с оброботкой на нажатия клавиш -------------------- |
|||
|
||||
lioness |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 27.7.2006 Репутация: нет Всего: нет |
А у меня тут такая небольшенькая странность с Validating Может, где спрашивали уже, но я не нашла.
Вот пример проверки TextBox, чтобы пустым не отправляли.
В дизайнере, как и положено, строка стоит
При попытке щелкнуть на кнопку для отправки - высвечивается восклицательный знак возле текстбокса. НО !!! Только если я предварительно щелкну по пустому полю тексбокса. Ну или я что-то туда записАла, а потом стерла. Если поле остаётся девственно чистым, то бишь я до него вообще не дотрагивалась, и пытаюсь отправить "пустышку", то Validating не происходит вощщее. Я ставила остановы - я совсем не прихожу по прерыву в это событие. Как будто бы надо еще на TextBox поставить что-то типа "OnValidation". Я выдумываю - такого проперти нет, но очень хочется. ![]() Конечно, можно на кнопке-отправке поставить проверку на пустоту ".Trim.Lenght == 0" и не допустить "пустой" отправки (что я сейчас и сделала), но принципиально - почему Validation начинает валидировать только после "касания" текстового поля? |
||||
|
|||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 2 Всего: 22 |
Валидация проходит вот в такой цепочке событий: 1. Enter 2. GotFocus 3. Leave 4. Validating 5. Validated 6. LostFocus или 1. Enter 2. GotFocus 3. LostFocus 4. Leave 5. Validating 6. Validated Т.е., чтобы прошла валидация необходимо, чтобы контрол потерял фокус. Может проще определить свой контрол на базе TextBox? Это сообщение отредактировал(а) $tatic - 20.9.2006, 18:04 |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
||||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
![]() $tatic, а где ты выкапал инфу о очередностях событий? Или сам вычислил? |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 2 Всего: 22 |
ivashkanet, MSDN :: .NET Framework Class Library :: Control.Validating Event
Добавлено @ 18:10 А вообще валидацию стандартным способом я бы не рекомендовал проводить. Я однажды запускал пример от MS, в котором производится проверка на валидность е-мэйла. Так вот я не мог корректно закрыть это приложение, поскольку его блокировал валидатор. И вообще не мог перейти к другому контролу на форме, поскольку валидация отменяет и потерю фокуса. Так что будьте с этим осторожны. |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Можно у формы подписываться на Closing и там дёргать метод Validate каждого контрола - если хотя бы один скажет что "нельзя", то выставлять e.Cancel и форма не закроется.
-------------------- ![]() |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 2 Всего: 22 |
mr.DUDA, про что я и писал в предыдущем посте. Т.е. пока юзер все правильно не введет, то и "Отмену" нажать не сможет
![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |