|
Как на C# правильно обработать долгое нажатие на кнопку? | ☑ | ||
---|---|---|---|---|
0
D_Pavel
25.03.16
✎
10:12
|
Под винду программку пишу на MS VS C#
Есть кнопка, у нее перехватывается событие Click. Я добавил событие Holding - это когда долго держишь кнопку и не отпускаешь. Но после события Holding срабатывает еще и событие Click, а это не правильно. Должно срабатывать только одно событие: либо Click, либо Holding, смотря как долго держишь кнопку. А теперь самое главное в этом деле: вопрос: как это сделать? Я придумал добавить переменную флаг что сработало событие Holding, и добавить условие в событие Click проверяющее эту переменную. Но это же дебильное решение, так никто не делает. |
|||
1
D_Pavel
25.03.16
✎
10:13
|
+(0) Забыл уточнить, Click срабатывает при отпускании кнопки, а не при нажатии.
|
|||
2
xxTANATORxx
25.03.16
✎
10:15
|
как хорошо что 1Ска не страдает болезнями нажатий на клавиши
|
|||
3
D_Pavel
25.03.16
✎
10:16
|
(2) да, на 1с я бы эту задачу гораздо быстрее решил. Дурацкая С#
|
|||
4
Локи-13
25.03.16
✎
10:16
|
(0) вроде норм вариант
а зачем тебе и то и другое? отслеживай только холд, клик будет холд меньше секунды напрмер |
|||
5
ObjectRelation Model
25.03.16
✎
10:25
|
добавь флаг в холдинг, в клик проверяй его, потом сбрасывай
|
|||
6
ObjectRelation Model
25.03.16
✎
10:26
|
(2)(3) шутка юмора?
|
|||
7
Garykom
гуру
25.03.16
✎
10:28
|
(0) Есть 2 события у кнопки точнее даже 3
1. Нажатие 2. Отпускание 3. Клик (нажатие и отпускание) Ловишь 1, счетчик, ловишь 2, как поймал счетчик стоп. Смотрим |
|||
8
D_Pavel
25.03.16
✎
10:28
|
(4) Если отслеживать только холд, то придется мерить время. А если нажатие будет очень короткое (меньше пол секунды например), то холд вообще не сработает
|
|||
9
Serginio1
25.03.16
✎
10:28
|
(3) в 1С есть Holding?
(5) + |
|||
10
Garykom
гуру
25.03.16
✎
10:29
|
(0) И это у тя надеюсь обычные WinForms?
|
|||
11
D_Pavel
25.03.16
✎
10:30
|
(7) Это еще счетчик делать. Очень плохой варик
|
|||
12
Лефмихалыч
25.03.16
✎
10:30
|
(0) в чем проблема-то? не обрабатывай click, если ранее стрельнуло holding
|
|||
13
Лефмихалыч
25.03.16
✎
10:31
|
(11) нет, это тебе в обработчике click надо знать, стрельнул перед ним holding или нет
|
|||
14
Кирпич
25.03.16
✎
10:32
|
(0) "Но это же дебильное решение, так никто не делает"
Ну вот как ты определил, что это дебильное решение и что так никто не делает? |
|||
15
D_Pavel
25.03.16
✎
10:32
|
(13) Ну да, глобальную переменную использовать. Я же писал в (0), плохой варик
|
|||
16
D_Pavel
25.03.16
✎
10:33
|
(14) Потому что использовать глобальную переменную для этого плохой тон
|
|||
17
Кирпич
25.03.16
✎
10:35
|
(16) Да с чего ты взял, что это плохой тон. Делай как в (0) и не парься.
|
|||
18
D_Pavel
25.03.16
✎
10:35
|
Короче сам разобрался. Вместо Клик заюзал эвент Тап.
Тап файрится онли при шорт клике. При лонг клике такой эвент не файрится вообще. Всем спасибо, топик можно закрыть. |
|||
19
Кирпич
25.03.16
✎
10:35
|
ну или пиши письма в микрософт, чтобы они сделали как ты хочешь.
|
|||
20
NcSteel
25.03.16
✎
10:37
|
(9) Да.
|
|||
21
ObjectRelation Model
25.03.16
✎
10:41
|
(15) не глобальную, а поле класса, йопта!
|
|||
22
D_Pavel
25.03.16
✎
10:42
|
(21) Называй то что видно вне обработчиков событий как хочешь, суть от этого не меняется.
|
|||
23
ObjectRelation Model
25.03.16
✎
10:45
|
(22) меняется, поле объекта индивидуально для каждого объекта, а глобальная переменная она одна
если объектов больше одного, то будут коллизии это называется инкапсуляция, приватное поле объекта видно только внутри класса (его методов) |
|||
24
DDwe
25.03.16
✎
10:48
|
(23) Он же 1с-ник, чего ты ему объясняешь....
|
|||
25
Serginio1
25.03.16
✎
10:49
|
(18) Главное, что в 1С таких ошибок быть не может!
|
|||
26
ObjectRelation Model
25.03.16
✎
10:50
|
(24) ну даже в 1С можно делать приватные поля формы))
|
|||
27
D_Pavel
25.03.16
✎
10:50
|
(23) Не может суть объекта поменяться от того как разные люди называют один и тот же объект.
Я поле класса и имел в виду изначально. |
|||
28
DDwe
25.03.16
✎
10:53
|
(27) Что-ты там имел, ни кому не ведомо, не оправдывайся.
|
|||
29
D_Pavel
25.03.16
✎
10:54
|
(24) Я больше не 1С-ник, после того как заказы на C# стали приносить в разы больше прибыли. Сейчас делаю крупный проект для канадской компании, платят в баксах. В рублях получается ОООчень много.
|
|||
30
ObjectRelation Model
25.03.16
✎
10:55
|
(29) в сантиметрах сколько? ))
|
|||
31
DDwe
25.03.16
✎
10:55
|
(29) Вот врет и не краснеет )))
|
|||
32
Broadbread
25.03.16
✎
10:56
|
Баксы - это баксы, или что-то другое?
|
|||
33
D_Pavel
25.03.16
✎
10:56
|
(30) Если тысячными купюрами, то пачка в сантиметр толщиной получается.
|
|||
34
Господин ПЖ
25.03.16
✎
10:56
|
кто ж тебя к ним подпустил...
|
|||
35
Smile 8D
25.03.16
✎
10:56
|
(29) Т.е. они пока не знают, что ты даже не можешь нажатия на кнопку нормально обработать и спрашиваешь про это на непрофильном форуме? Это сложно назвать постоянным доходом.
|
|||
36
Господин ПЖ
25.03.16
✎
10:57
|
я все понять не мог где он хочет "глобальный счетчик" залудить и почему его так корежит
|
|||
37
DDwe
25.03.16
✎
10:57
|
(35) +100500 ))))
|
|||
38
D_Pavel
25.03.16
✎
10:57
|
(34) Этих иностранцев не понять. Хотя нет, можно понять. Для них такая зарплата которую они мне платят - это стипендия их студента, наверное. А для нас это бабло как три зарплаты хорошего одинесника.
|
|||
39
Господин ПЖ
25.03.16
✎
10:57
|
[null,null,null,null,null...]
|
|||
40
ObjectRelation Model
25.03.16
✎
10:57
|
(33) ну это ниочем, учись у Гений 1С
он говорит, что у него 14 см |
|||
41
D_Pavel
25.03.16
✎
10:58
|
(35) Они знают что я начинающий прог, но согласны на это, потому что у себя за такие деньги они могут найти человека еще хуже чем я
|
|||
42
Mikeware
25.03.16
✎
10:58
|
(41) а такое возможно?
|
|||
43
Nuobu
25.03.16
✎
10:59
|
В чем проблема завести переменную и отслеживать её в событии ОнКлик?
|
|||
44
Кирпич
25.03.16
✎
10:59
|
(35) а им пофигу. им главное чтобы работало и в срок и за дешево. бизнес есть бизнес.
|
|||
45
Господин ПЖ
25.03.16
✎
10:59
|
к вопросу индусов и горстей риса...
|
|||
46
ObjectRelation Model
25.03.16
✎
10:59
|
(39) улыбнуло
|
|||
47
D_Pavel
25.03.16
✎
10:59
|
(42) Да их там полно.
|
|||
48
D_Pavel
25.03.16
✎
11:01
|
(45) Ну сейчас индусы не такие выгодные стали как русские, из-за курса рубля. Щас активно нанимают русских прогов. Пакистанцы пока еще конкурируют, но уже тоже сдают свои позиции русским. Россия вперед!
|
|||
49
D_Pavel
25.03.16
✎
11:04
|
Короче, ребята, ждите скоро в виндоус сторе новое универсальное приложение. Ссылку дам когда будет опубликовано.
|
|||
50
Smile 8D
25.03.16
✎
11:04
|
(48) 1см 1000руб купюр - это 40 тысяч. С каких пор это стало "ооочень много" и "три зарплаты хорошего одинесника"?
Так же это 570 баксов - индусы и китайцы стоят гораздо дешевле. Что-то у тебя все не сходится. |
|||
51
Broadbread
25.03.16
✎
11:05
|
Интересная идея: ивент по морзянке. Юзерам понравится.
|
|||
52
Aleksandr N
25.03.16
✎
11:05
|
(50) Платят в баксах, Карл!!!
|
|||
53
Smile 8D
25.03.16
✎
11:06
|
(52) И что? Он пишет конкретно про тысячные рублевые купюры.
|
|||
54
D_Pavel
25.03.16
✎
11:06
|
(50) не говори то чего не знаешь.
1. Это должны быть очень мятые купюры, не лежавшие в кошельке, только тогда получится 40. А новыми из банкомата гораздо больше. 2. Китайцы стоят гораздо дороже индусов, и заметно дороже русских. Ты не знаешь текущих уровней оплаты китайцев. |
|||
55
Кирпич
25.03.16
✎
11:09
|
(54) откуда ты всё знаешь про китайцев и индусов? ещк "виндоус сторе" какой то? Что такое "виндоус сторе"? Магазин какой то чтоли?
|
|||
56
ObjectRelation Model
25.03.16
✎
11:10
|
(52) в баксах нет 1000 купюры
|
|||
57
D_Pavel
25.03.16
✎
11:10
|
(55) Да магазин
|
|||
58
Garykom
гуру
25.03.16
✎
11:10
|
(49) Насчет виндоус сторе... Думаешь его кто то кроме тестеров МС открывает?
|
|||
59
D_Pavel
25.03.16
✎
11:10
|
(56) Я в рублях снимаю с банкомата.
|
|||
60
D_Pavel
25.03.16
✎
11:11
|
(58) Многие открывают. Приложения же где-то нужно брать для тех у кого новая винда типа 8.1 или 10. С трентов не все умеют качать, да и сложно стало
|
|||
61
Smile 8D
25.03.16
✎
11:12
|
(54) Прошу прощения, это видимо только ваша прерогатива.
|
|||
62
ObjectRelation Model
25.03.16
✎
11:12
|
(59) ну то есть это как и сказано в (50) около 40 тыщ руб?
|
|||
63
Fish
25.03.16
✎
11:13
|
(56) Есть и больше: " Кроме перечисленных, существуют еще и банкноты номиналом 500, 1000, 5000, 10 000 и 100 000 долларов США."
http://odollarah.ru/monety-i-banknoty-ssha/1000-dollarov.html |
|||
64
ObjectRelation Model
25.03.16
✎
11:13
|
+(62) ну хорошо, пусть будут 60 тыщ
|
|||
65
ObjectRelation Model
25.03.16
✎
11:14
|
(63) и они вот так вот свободно ходят? они у коллекционеров давно все
|
|||
66
Fish
25.03.16
✎
11:15
|
(65) Нет, их уже не выпускают, но они "по-прежнему платежеспособны, как и любая долларовая купюра, выпущенная в 1861 г. и позже."
|
|||
67
Smile 8D
25.03.16
✎
11:15
|
(63) Давайте не будем вырывать фразы из контекста. Не может наш "дорогой" топикстартер получать зарплату тысячедолларовыми купюрами.
|
|||
68
Локи-13
25.03.16
✎
11:15
|
щас все 1сники ломанутся учить дотнет
|
|||
69
Локи-13
25.03.16
✎
11:15
|
(68) п.с. вангую )
|
|||
70
Маратыч
25.03.16
✎
11:16
|
(68) Ага, жабу-то уже изучили %))
|
|||
71
ObjectRelation Model
25.03.16
✎
11:18
|
так, у кассира не оказалось пачки свежих купюр, но она сказала примерно 1.5 см пачка, значит у тебя 1 см это 70 тыщ примерно
|
|||
72
D_Pavel
25.03.16
✎
11:18
|
(64) Даже не старайся уменьшить мою зарплату, ничего не сможешь сделать как ни пиши.
|
|||
73
Smile 8D
25.03.16
✎
11:19
|
(72) Ты лучше расскажи как ты 300 тысяч (а это минимум для 3х зарплат хорошего одинэсника) ужал в 1см?)
|
|||
74
D_Pavel
25.03.16
✎
11:21
|
(73) Легко. Банкомат выдал новенькие, никем не жатые банкноты, я их еще спрессовал, и получилось как раз около 1см
|
|||
75
Nuobu
25.03.16
✎
11:24
|
(74) Не знаю, как сильно ты их сжимал, но у меня в один сантиметр влазит 100 гривневых купюр. Которые только из банка, перетянуты банковской лентой. Думаю, что там степень сжатия сильнее твоего.
Может, ты имеешь ввиду сантиметра три? |
|||
76
D_Pavel
25.03.16
✎
11:29
|
Нет не три. Че пристали? Я не мерил линейкой. Просто запихал в кошелек, он не закрывался, я поскорей убежал от туда в машину и уехал чтобы не ограбили, а то народ пырился когда я бабло снимал.
|
|||
77
DDwe
25.03.16
✎
11:43
|
(76) Свисдабол.
|
|||
78
Smile 8D
25.03.16
✎
11:45
|
(76) Мы пристали потому что ты откровенно врешь и при этом еще других обвиняешь в не знании. Так порядочные люди не делают.
|
|||
79
Лефмихалыч
25.03.16
✎
11:48
|
(15) вынь костыли из головы. Использовать надо данные объекта.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |