2 / 2 / 0
Регистрация: 20.04.2011
Сообщений: 6
|
|||||||||||
1 | |||||||||||
Аналоговые часы06.05.2011, 21:43. Показов 25289. Ответов 12
Метки нет (Все метки)
Что было сделано:
-нарисованы все стрелки, сам круг. -Все стрелки двигаются. Что хочу спросить: -можно ли как-то нанести на круг циферблата "деления-штрихи", дабы хоть как-нибудь обозначить время. Читаем системное время, получаем который час.
2
|
06.05.2011, 21:43 | |
Ответы с готовыми решениями:
12
Аналоговые часы Аналоговые часы (24-часовой циферблат) Таймер или аналоговые часы Аналоговые часы |
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
|
|
06.05.2011, 22:53 | 2 |
в обработчик события первой загрузки формочки прописать метод, который рисует стрелки с аргументом текущего времени
1
|
2 / 2 / 0
Регистрация: 20.04.2011
Сообщений: 6
|
|
06.05.2011, 23:03 [ТС] | 3 |
Простите, но я не совсем понял, что Вы имели ввиду.
Точнее, понять то я понял. а вот как сделать...)
0
|
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
|
||||||
07.05.2011, 01:59 | 4 | |||||
Сообщение было отмечено как решение
Решениеможет не особо красиво, но работает
то есть вам нужно не приплюсовывать единичку при каждом тике таймера и от этого числа отталкиваться чтобы рисовать положение стрелок, а отталкиваться нужно от текущего времени я в метод, который отрисовывает стрелки передаю значение текущего времени и от него отталкиваюсь при прорисовке я не говорю что ваш метод нерабочий, он рабочий, но немного неудачный подход к задаче
3
|
10 / 10 / 1
Регистрация: 02.04.2011
Сообщений: 95
|
|
07.05.2011, 13:59 | 5 |
Если не критично - используй wpf , там можно вообще без кода подобное приложение сделать.
0
|
2 / 2 / 0
Регистрация: 20.04.2011
Сообщений: 6
|
|
07.05.2011, 18:14 [ТС] | 6 |
Большое спасибо, разобрался
0
|
4 / 4 / 0
Регистрация: 08.03.2011
Сообщений: 42
|
||||||
01.08.2013, 07:13 | 7 | |||||
Пишу похожую программу
Рисую в pictureBox, стрелка рисуется по таймеру. Проблема в мерцании картинки при обновлении рисуемой области - pictureBox1.Invalidate(). Можно ли это исправить ? Может лучше перемещать стрелку (вот только как) ? Добавлено через 17 минут хм...сделал два таймера, один для отрисовки, второй для обновления - почти идеально) Кликните здесь для просмотра всего текста
0
|
86 / 86 / 6
Регистрация: 14.01.2011
Сообщений: 265
|
||||||
01.08.2013, 07:21 | 8 | |||||
Можно попробовать включить двойную буферизацию чтоб не было мерцания:
1
|
4 / 4 / 0
Регистрация: 08.03.2011
Сообщений: 42
|
|
01.08.2013, 07:36 | 9 |
Включил в свойствах формы. Не помогло.
0
|
4 / 4 / 0
Регистрация: 08.03.2011
Сообщений: 42
|
|||||||||||
06.08.2013, 09:00 | 10 | ||||||||||
И такс, стрелка двигается. Теперь вопрос как ускорить движение ?
Есть два таймера, один выполняет метод Draw Кликните здесь для просмотра всего текста
второй выполняет обновление рисуемой области
0
|
86 / 86 / 6
Регистрация: 14.01.2011
Сообщений: 265
|
|||||||||||
08.08.2013, 11:23 | 11 | ||||||||||
Поработал с вашим кодом маленько:
Во первых убрал метод Refresh со второго таймера! Не надо перерисовывать весь компонент. Достаточно закрашивать те области, которые проходила стрелка. Таким образом функция Run стала следующей:
1
|
4 / 4 / 0
Регистрация: 08.03.2011
Сообщений: 42
|
|
08.08.2013, 11:41 | 12 |
Спасибо за помощь. Сейчас проблема не в мерцании, а в скорости стрелки.
0
|
0 / 0 / 0
Регистрация: 18.04.2016
Сообщений: 9
|
||||||
18.04.2016, 11:51 | 13 | |||||
Моя версия аналоговых часов
0
|
18.04.2016, 11:51 | |
18.04.2016, 11:51 | |
Помогаю со студенческими работами здесь
13
аналоговые часы на C# Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) когда совпадут минуты и часы Даны целые числа m (часы) и n (минуты) .Определить наименьшее время (в минутах) когда совпадут минуты и часы Из секунд - часы, минуты и секунды. Из минут - часы, минуты Аналоговые часы Аналоговые часы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |