Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
 Аватар для sinlop
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 28

При каждом новом нажатии кнопки удалить старый таймер и создать новый

20.05.2014, 01:10. Показов 1717. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При каждом новом нажатии запускает новый таймер. Как его заставить отключать и уничтожать старый не понятно((
Как сделать, правильно?

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
Public Sub MenuItem2_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MenuItem2.Click
        'Создаем таймер
        Dim Timer = New System.Windows.Threading.DispatcherTimer()
 
        ' Прописываем процедуру события по завершению интервала таймера
        AddHandler Timer.Tick, AddressOf Timer_Tick
 
        Timer.Interval = New TimeSpan(0, 0, st) 'Задаем интервал в  секундах
        Timer.Start() 'запускаем таймер
        ik = 0 'устанваливаем счетчик картинок в списке в 0
 
    End Sub
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
 Private Sub Timer_Tick(ByVal sender As Object, ByVal e As EventArgs)
        Dim n As Integer = Listimage.Count - 1 'кол-во элементов в списке картинок
        If n <= 0 Then  ' Если в списке пусто - ничего не делаем
            Exit Sub
        End If
        'Помещаем в имеджбокс картинку
        Image1.Source = Listimage.Item(ik)
        ik = ik + 1
        If ik > n Then 'Если прошли по всему списку - возварщаемся к началу
            ik = 0
        End If
 
    End Sub
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.05.2014, 01:10
Ответы с готовыми решениями:

Unity 3D (nGUI). Как создать новый динамичный лейбл при нажатии кнопки?
Есть такая вот штука: void OnClick () { // присваиваем значениям val1 и val2 то, что введено в инпутах string val1 =...

При каждом новом нажатии значение увеличивалось бы на 1
Всем привет. Очень буду благодарен за помощь. &lt;?php if(isset($_GET)){ $id = $_GET; $add_order=&quot;insert into...

Как удалить старый сайт и создать новый по тому же адресу
Я еще новенький, у меня есть вопрос, ответ на который нигде не могу найти. Есть старый сайт, не знаю на каком движке создавали...

4
Строитель
 Аватар для Nord790
889 / 556 / 194
Регистрация: 01.04.2014
Сообщений: 610
Записей в блоге: 6
20.05.2014, 04:32
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

пример с обычным таймером
VB.NET
1
2
3
4
5
6
7
8
9
10
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Static oldTimer As Timer = Nothing 'здесь будет хранится предыдущий таймер
        If Not oldTimer Is Nothing Then 'проверяем пуста ли у нас переменная oldTimer 
            oldTimer.Dispose() 'если нет, то удаляем предыдущий таймер
        End If
        Dim newTimer As New Timer 'создаём таймер
        AddHandler newTimer.Tick, AddressOf Timer_Tick
        newTimer.Start() 'запускаем
        oldTimer = newTimer 'устанавливаем переменную newTimer к oldTimer
    End Sub
0
 Аватар для oleg526
1 / 1 / 0
Регистрация: 28.09.2013
Сообщений: 83
20.05.2014, 09:52
"Обычный таймер" это какой?
Пишет тип Timer не определен и ниодин из вариантов, предположенных системой не подходит ((

Imports System.Timers
для строчки
AddHandler newTimer.Tick, AddressOf Timer_Tick
пишет:
Ошибка 1 "Tick" не является событием в "System.Timers.Timer".
0
Строитель
 Аватар для Nord790
889 / 556 / 194
Регистрация: 01.04.2014
Сообщений: 610
Записей в блоге: 6
20.05.2014, 10:05
под обычным таймером я имею виду System.Windows.Forms.Timer
0
 Аватар для oleg526
1 / 1 / 0
Регистрация: 28.09.2013
Сообщений: 83
20.05.2014, 10:52
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    Public Sub MenuItem2_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MenuItem2.Click
 
        Static Dim oldTimer As System.Windows.Threading.DispatcherTimer = Nothing 'здесь будет хранится предыдущий таймер
        If Not oldTimer Is Nothing Then 'проверяем пуста ли у нас переменная oldTimer 
            oldTimer.Stop()
        End If
        Dim newTimer As New System.Windows.Threading.DispatcherTimer 'создаём таймер
        ' Прописываем процедуру события по завершению интервала таймера
        AddHandler newTimer.Tick, AddressOf Timer_Tick
        newTimer.Interval = New TimeSpan(0, 0, st) 'Задаем интервал в  секундах
        newTimer.Start() 'запускаем
        oldTimer = newTimer 'устанавливаем переменную newTimer к oldTimer
        ik = 0 'устанваливаем счетчик картинок в списке в 0
 
    End Sub
Вот так работает.
Nord790, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.05.2014, 10:52
Помогаю со студенческими работами здесь

Как создать новый объект добавить в другой и не удалить старый с таким же названием?
Как создать новый объект добавить в другой и не удалить старый с таким же названием? Строка 23 я создаю и добавляю (строка 28) объект в...

При нажатии кнопки на Form1 запустить таймер на Form2
На Form1 кнопка нужно чтоб при её нажатии открывалась Form2 и на Form2 запускался таймер и ProgressBar. подскажите пожалуйста как это...

Как сделать, чтобы при первом нажатии кнопки таймер запускался а при втором останавливался
Подскажите пожалуста как зделать чтобы при первом нажатии кнопки таймер запускался а при втором останавливался

Уменьшать переменную при каждом нажатии кнопки
Как можно уменьшать переменную при каждом нажатии кнопки? При этом не использовать Java и дополнительный PHP-файл. Пытаюсь делать так: ...

Увеличение числа на +1 при каждом нажатии кнопки
Здраствуйте. Есть кнопка котррую нажимаю и должно увеличивать каждый раз число на 1. Тоесть есть переменная int a которая = 2 и по нажатию...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru