Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка длительного нажатия 
:(
    Опции темы
bernex
  Дата 15.11.2008, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.9.2007

Репутация: нет
Всего: нет



Хотелось бы сделать обработчик, нажимаю на клавишу.. держу и в это время вызывается каждую секунду событие которое отправляет количество секунд с времени нажатия...
Т.е. если держу 2 сек... делать то если 5 то другое...
Отпустил и все нормально... обычное событие отключить при нажатии длительном, только если меньше секунды....

Помогите разобраться в этом
PM   Вверх
Partizan
Дата 16.11.2008, 03:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



наверно стоит посмотреть событие KeyPressed


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
VisualProgrammerNET
Дата 16.11.2008, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 1
Всего: 6



повесить на KeyDown таймер. При нажатии клавиши, таймер запускается с интервалом, например, в полсекунды. Ну а дальше дело техники. Можно написать, к примеру, такой обработчик нажатия (пишу в общих чертах, поправишь потом):
Код

int timecount = 0;

Timer_Tick(...) //Interval = 500;
{
     timecount += 500;
}

Control_KeyDown(...)
{    
     Timer.Start();     
}

Control_KeyUp(...)
{     
     Timer.Stop();
     KeyHandler();
     timecount = 0;
}

void KeyHandler()
{     
     if (timecount >= 0 && timecount <= 1000) //секунда и меньше
           DoSomeWork1(); 
     if (timecount >= 1500 && timecount <= 2500) //около 2 секунд (с некоторой допустимой погрешностью)
           DoSomeWork2(); 
     //и т.д.
}


Но вообще, мне такой метод не нравится. Неужели нельзя на разные клавиши навесить события?

Это сообщение отредактировал(а) VisualProgrammerNET - 16.11.2008, 19:23


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
bernex
Дата 16.11.2008, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.9.2007

Репутация: нет
Всего: нет



Спасибо! делаю тачскрин интерфейс... хочется сдлеать удобнее )))
PM   Вверх
bernex
  Дата 17.11.2008, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.9.2007

Репутация: нет
Всего: нет



Реализовал, всем спасибо!!!
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.