Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Обработка ошибок Text1.Text Добавлено: 10.08.04 15:26  

Автор вопроса:  Andrey999 | Web-сайт: www.radio-device.narod.ru | ICQ: 30852361 
Скиньте пожалуйста код обработки ошибок текстового поля. Так чтобы если в поле нет записи выскаивало сообщение о заполнении поля, и при нажатии ОК форма(подчиненная) не закрывалась, а оставалась открытой.

Ответить

  Ответы Всего ответов: 17  

Номер ответа: 1
Автор ответа:
 .::EclipsE::.



ICQ: 208952501 

Вопросов: 22
Ответов: 85
 Профиль | | #1 Добавлено: 10.08.04 15:49
Option Explicit

Private Sub Command1_Click()
    Unload Me
End Sub

Private Sub Form_Unload(Cancel As Integer)
    
    If Trim(Text1.Text) = Empty Then
        MsgBox "Заполните текстовое поле"
        Cancel = -1
    End If
    
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #2
Добавлено: 10.08.04 16:22
Лучше не в Анлоад, а в LostFocus поместить код...

Ответить

Номер ответа: 3
Автор ответа:
 .::EclipsE::.



ICQ: 208952501 

Вопросов: 22
Ответов: 85
 Профиль | | #3 Добавлено: 10.08.04 16:26
Чем лутьше? в LostFocus невсегда срабатывает, у меня к примеру вообще не сработало!!! можно еще в Terminate запихнуть.

Ответить

Номер ответа: 4
Автор ответа:
 Андрей Никитин



ICQ: 325172082 

Вопросов: 3
Ответов: 81
 Профиль | | #4 Добавлено: 10.08.04 16:52
А можно еще в событие Validate поместить... :)

Ответить

Номер ответа: 5
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #5
Добавлено: 10.08.04 17:13
BoomeR, значит плохо поместил %)
Попросту когда текстовое поле теряет фокус, в него уже никто ничего не напишет, следовательно это оконечный вариант текста...

Ответить

Номер ответа: 6
Автор ответа:
 .::EclipsE::.



ICQ: 208952501 

Вопросов: 22
Ответов: 85
 Профиль | | #6 Добавлено: 10.08.04 17:16
sne А если ктото хочет скопировать текст скажем из файла в текстовое поле, его будет доставать сообщение что оно пустое?

Ответить

Номер ответа: 7
Автор ответа:
 .::EclipsE::.



ICQ: 208952501 

Вопросов: 22
Ответов: 85
 Профиль | | #7 Добавлено: 10.08.04 17:18
Андрей Никитин Насколько мне извесно у формы нет такого события как Validate

Ответить

Номер ответа: 8
Автор ответа:
 Андрей Никитин



ICQ: 325172082 

Вопросов: 3
Ответов: 81
 Профиль | | #8 Добавлено: 10.08.04 17:44
Все верно, если форму закрывать кнопкой "х" или "Alt + F4" то не LostFocus не Validate для текстового поля не вызываются. Остается событие Form_QueryUnload() там и проверяй при закрытии, а лучше напиши одну функцию по проверке текстового поля которая возвращала бы Boolean и вызывай эту функцию откуда хошь: и из LostFocus и из Form_QueryUnload. В любом случае значение возвращенное этой функцией можно использовать для установки параметра Cancel который либо оставляет фокус на текстовом поле либо не позволяет форме закрыться.

Ответить

Номер ответа: 9
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #9
Добавлено: 10.08.04 18:24
В любом случае на Анлоад ставить глупо, тем-более что форма всего одна :))
Андрей предлагает здравое решение, так что с ним спорить...

Ответить

Номер ответа: 10
Автор ответа:
 .::EclipsE::.



ICQ: 208952501 

Вопросов: 22
Ответов: 85
 Профиль | | #10 Добавлено: 10.08.04 18:31
2sne. Нечего не глупо! А то что предлагает Андрей и то о чем говорил я одно и тоже! Form_QueryUnload и Form_Unload происходит при выгрузке формы (разница толлько в том что в 1-м варианте можно еще отследить режим выгрузки). А то что форма всегда 1-а ты неправ. К примеру, я сейчас пишу программу, и в ней: 7 форм, 7 модулей, 2 класса и 6 контролов

Ответить

Номер ответа: 11
Автор ответа:
 Andrey999



ICQ: 30852361 

Вопросов: 73
Ответов: 168
 Web-сайт: www.radio-device.narod.ru
 Профиль | | #11
Добавлено: 10.08.04 18:41
Все равно он закрывает форму и вываливается на главную :(

Ответить

Номер ответа: 12
Автор ответа:
 .::EclipsE::.



ICQ: 208952501 

Вопросов: 22
Ответов: 85
 Профиль | | #12 Добавлено: 10.08.04 18:54
А я о чем!

Ответить

Номер ответа: 13
Автор ответа:
 Andrey999



ICQ: 30852361 

Вопросов: 73
Ответов: 168
 Web-сайт: www.radio-device.narod.ru
 Профиль | | #13
Добавлено: 10.08.04 19:03
Так что делать!!!!

Ответить

Номер ответа: 14
Автор ответа:
 .::EclipsE::.



ICQ: 208952501 

Вопросов: 22
Ответов: 85
 Профиль | | #14 Добавлено: 10.08.04 19:06
Вешатся

Ответить

Номер ответа: 15
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #15
Добавлено: 10.08.04 19:37
Я про предложение о исполнении кода при потере фокуса и при выгрузке формы, я не дурак и прекрасно знаю что такое Unload и что такое Query, вериш нет :)

А в предыдущем своем посте я чуть-чуть неверно отписал:
В любом случае на Анлоад ставить глупо, тем-более если форма всего одна :))

Так будет вернее!

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам