Работа с Timer-ом
Kak можно задать код который уберает форму через 5 секунд?
Private Sub Timer1_Timer()
'Таймер сработает по прошествию времени указанного в Timer1.Interval с момента установки Timer1.Enabled = True
Имя_Формы.Hide 'если надо просто скрыть форму
Unload Имя_Формы 'если надо выгрузить форму
End Sub
Private Sub Timer1_Timer()
'Таймер сработает по прошествию времени указанного в Timer1.Interval с момента установки Timer1.Enabled = True
Имя_Формы.Hide 'если надо просто скрыть форму
Unload Имя_Формы 'если надо выгрузить форму
End Sub
Усли Excel, то Application.OnTime - в этом методе указываешь интервал и имя процедуры, которая будет вызвана на срабатывание таймера
Kak можно задать код который уберает форму через 5 секунд?
На самом деле в VB не всё так просто, но и не сложно. Таймер 5 минут у тебя не протянет. У него есть ограничение интервала в 65535 милисекунд. Поэтому тебе для отсчёта 5 минут надо сделать так:
1. Создать переменную, которая будет увеличиваться при срабатывании таймера.
2. Переменная должна быть кратна 5 минутам.
3. При срабатывании таймера увеличиваешь переменную. Смотришь, равна ли она эквиваленту 5 минут. Если не равна, увеличиваешь её на 1, а таймер сбрасываешь и пусть снова отсчитывает интервал. Иначе выключаешь таймер и прячешь форму.
НО УЧТИ, ТАЙМЕР сильно завасит от загрузки процессора. Поэтому ровно 5 минут отсчитать не получится!
Для точного отсчёта времени я лично пользуюсь таймером, который сверяется с часами ПК и интервал отсчёта которого уменьшается по мере приближения к требуемому моменту времени. Ну а кто поумнее меня, тот API для
этого использует...
Или еще можно запомнить время при загрузке формы и по таймеру проверять прошло ли 5 минут или нет, при разнице запомненного времени с текущим >= 5 минут выгрузить форму и остановить таймер.
Тоже хороший способ, только нужно или интервал для таймера маленький ставить, или как я описывал, уменьшать его по мере приближения окончания 5 минут. А то можно момент прохождения интервала времени пропустить...
Или еще можно запомнить время при загрузке формы и по таймеру проверять прошло ли 5 минут или нет, при разнице запомненного времени с текущим >= 5 минут выгрузить форму и остановить таймер.
А как можно это програмно писать?(примерно)
А как можно это програмно писать?(примерно)
1. Библиотека с таймером подключена по умолчанию. Просто кладёшь его на форму.
Ну а дальше... Блин, давай сюда через 20 минут архив положу с примером, реализованным самым простым способом. ОК?
А как можно это програмно писать?(примерно)
Вот примерный пример. Что там нужно уточнять - смотри в комментариях. Но общий принцип простейшего отсчёта больших интервалов верен.