Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2011, 01:48   #1
mike_tihomirov
Пользователь
 
Регистрация: 15.02.2010
Сообщений: 58
По умолчанию Как в С# написать обработку кнопок-стрелок.

Дело в том, что, как через Win32 API сие сделать я знаю, но...
как то не хоц ца подключать к формам Win32 API код, я так думаю
это можно более элегантно обработать средствами Forms.

Задача условно такая, есть форма, на форме нарисован обьект, есть кнопка "старт"
,я хочу двигать обьект кнопками-стрелками.

я создал обработчик подключенный к кнопке "старт":

Код:
private void btn_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
        {
            switch (e.KeyValue)
            {
                case 38:
                    { .....break;}
                case 40:
                    {.....break;}
                case 37:
                    {.....break;}
                case 39:
                    {.....break;}
                default:
                    break;
            }
        }
но штука в том, что при первом нажатии кнопки-стрелки кнопка "старт" теряет фокус, при втором фокус возвращается и так по кругу, понятно что фокус уходит на форму, но если я подключу
обработчик к форме то будет та же история с потерей-восстановлением фокуса. Выглядит вся эта дерготня неприглядно.

Так вот, как сделать чтоб фокус постоянно держался на кнопке и не дергался боле ни куда.
И как послать нажатия клавиш окну без фокуса средствами Forms?
Или по любому надо подключать Win32 API и уже по старинке через хендлы и сообщения.

Заранее спасибо.
Не бывает глупых вопросов.
Глупец тот, кто не спрашивает.
mike_tihomirov вне форума Ответить с цитированием
Старый 28.03.2011, 15:56   #2
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
По умолчанию

Button.PerformClick - метод
Control.Focus - метод
#include <мозг.h>
Руслантус вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу написать обработку для формы обратной связи..(( lsidl PHP 6 16.04.2010 17:28
задачи: на двумерные массивы,обработку строк,обработку текстовых файлов. (Паскаль) Yaro Помощь студентам 2 12.11.2009 12:55
Как ускорить попиксельную обработку изображения Дамир Общие вопросы .NET 1 02.11.2009 12:40
Как правильно написать обработку ошибок? dsapa Microsoft Office Excel 2 24.07.2009 07:53