Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для mozgotron
64 / 73 / 1
Регистрация: 23.05.2015
Сообщений: 360
Записей в блоге: 52

Закрытие приложение по таймеру после его бездействия

16.02.2020, 16:13. Показов 1230. Ответов 3

Студворк — интернет-сервис помощи студентам
Не могу сделать автоматическое закрытие приложения после его минутного простоя.
Использую такой код:

VB.NET
1
2
3
4
5
6
7
8
9
10
    'Таймер автоматического закрытия приложения
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        Application.Exit()
    End Sub
 
    'Сброс таймера автоматического закрытия приложения
    Private Sub FormData_Click(sender As Object, e As EventArgs) Handles Me.Click
        Timer1.Enabled = False
        Timer1.Enabled = True
    End Sub
Настройки Таймера:
EnabledTrue
GenerateMemberTrue
Interval60000
ModifiersFriend

Но он закрывает приложение через минуту с момента запуска.
И не берёт в расчёт разные щелчки по форме, полям, гридам и кнопкам на форме.
Мне надо, чтобы таймер сбрасывал отсчитанное время на 0 после любого действия пользователя на форме.

Добавлено через 29 минут
Всё, ОТБОЙ.
Я придумал.
Надо сделать интервал Таймера 1000.
Объявить глобальную переменную типа byte, например, interval60sec.
В эту переменную Таймер будет каждую секунду записывать числа от 0 до 60.
Если interval60sec = 60, Таймер закрывает приложение.
При любой активности на форме переменная interval60sec будет обнуляться.

Добавлено через 1 час 18 минут
Вот что спасло:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Dim interval60sec As Byte
...
    'Обнуляем interval60sec при перемещении Формы
    Private Sub FormData_LocationChanged(sender As Object, e As EventArgs) Handles Me.LocationChanged
        interval60sec = 0
    End Sub
    'Обнуляем interval60sec при клике по Форме
    Private Sub FormData_Click(sender As Object, e As EventArgs) Handles Me.Click
        interval60sec = 0
    End Sub
    'Обнуляем interval60sec при клике по Лейблам
    Private Sub Labels_Click(sender As Object, e As EventArgs) Handles LA.Click, Label1.Click, Label2.Click, Label3.Click, Label4.Click, Label5.Click, Label6.Click
        interval60sec = 0
    End Sub
    'Обнуляем interval60sec при клике по Текстбоксам
    Private Sub TextBoxes_Click(sender As Object, e As EventArgs) Handles TextBox1.Click, TextBox2.Click, TextBox3.Click, TextBox4.Click, TextBox5.Click, TextBox6.Click
        interval60sec = 0
    End Sub
 
    'Таймер автоматического закрытия приложения
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        If interval60sec < 60 Then
            interval60sec += 1
        ElseIf interval60sec = 60 Then
            Application.Exit()
        End If
    End Sub
+ вставка interval60sec = 0 в некоторые уже имеющиеся обработчики событий на контролах.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.02.2020, 16:13
Ответы с готовыми решениями:

Открытие и закрытие по таймеру
Всем привет! В общем суть такая, сделал программу, которая по таймеру открывает и закрывает сидюк using System; using...

Закрытие формы по таймеру
Есть одна проблема: у меня есть один таймер, который открывает дополнительную форму. После этого я завел еще один таймер и пишу : ...

Закрытие формы по таймеру
Кто подскажет код после открытия формы Sub Кнопка1_Щелкнуть() UserForm1.Show End Subзадать время, после истечению которого, она...

3
3259 / 3285 / 556
Регистрация: 17.02.2019
Сообщений: 5,194
16.02.2020, 16:29
можно было и по таймеру так сделать
VB.NET
1
2
3
Timer1.Enabled = False
Timer1.Interval = 60000
Timer1.Enabled = True
вставить в обработчики событий на контролах
1
 Аватар для mozgotron
64 / 73 / 1
Регистрация: 23.05.2015
Сообщений: 360
Записей в блоге: 52
16.02.2020, 18:31  [ТС]
January29, спасибо конечно вам за ваше желание помочь.
Но ваш вариант не сработал, программа закрылась ровно через минуту после запуска, несмотря на мои активные действия в контролах.

Зато я исправил часть вышеприведённого кода (вместо ElseIf interval60sec = 60 Then можно использовать Else):

VB.NET
1
2
3
4
5
6
7
8
    'Таймер автоматического закрытия приложения
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        If interval60sec < 60 Then
            interval60sec += 1
        Else
            Application.Exit()
        End If
    End Sub
0
3259 / 3285 / 556
Регистрация: 17.02.2019
Сообщений: 5,194
18.02.2020, 19:10
наверно поздно но вспомнил
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
'Таймер автоматического закрытия приложения
    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
        Application.Exit()
    End Sub
 
    ' Сброс таймера автоматического закрытия приложения
    ' Например для Кнопок и ТекстБокса (Click и KeyDown)
    Private Sub FormData_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Click,Button1.Click, Button2.Click, Button3.Click,TextBox1.Click, TextBox1.KeyDown, TextBox2.Click, TextBox2.KeyDown
 
        Timer1.Enabled = False
        Timer1.Interval = 60000 '60 секунд
        Timer1.Enabled = True
 
    End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2020, 19:10
Помогаю со студенческими работами здесь

Показ и закрытие формы по таймеру.
Здравствуйте. Нужно показать форму с логотипом на 3 секунды и потом закрыть. Я что-то не так делаю. Вот мой код. public partial...

Закрытие Открытого Дока По Таймеру
Подскажите как реализовать закрытие открытого дока по таймеру. Делаю таймер в Postopen запускаю, есть Handle для таймера, но вот как ...

Закрытие всплывающего модального окна по таймеру
Здравствуйте, уважаемые форумчане! Большая просьба: помогите, пожалуйста, реализовать в JavaScript закрытие модального всплывающего окна...

Запуск exe файла и закрытие по таймеру
Всем привет! Есть exe файл(флеш) который должен запуститься первым, затем через несколько секунд должен закрыться и должна открыться форма....

Плавное закрытие формы (прозрачность по таймеру)
Добрый день! Вот столкнулся с проблемой, у меня есть форма,при закрытии которой открывается другая форма, но на ней стоит таймер, по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru