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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2011, 23:53   #1
Alex2012
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 43
По умолчанию Нажатие buttona от нажатия клавиши с клавиатуры

Люди помогите такая проблема:
Есть у меня richtextbox туда я ввожу некоторые даные и рядом listbox там написано в списке что нужно вводить(по порядку) и button когда нажимаю мишкой на нее список поочередно опускается, ну очень неудобно каждый раз наводить мышку и нажымать на кнопку.
Можно как-то назначить кнопку с клавиатуры для того чтобы этот button нажимался после ее нажатия(например клавиша F9)
мопогите пожалуйста...
Alex2012 вне форума Ответить с цитированием
Старый 04.09.2011, 00:34   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Ну,например, можно так:
Код:
public Form1()
        {
            InitializeComponent();
            имя_richtextbox.KeyDown += (s, e) => { if (e.KeyCode== Keys.F9) имя_button_Click(new object(), new EventArgs()); };
        }
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 04.09.2011, 00:37   #3
Alex2012
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 43
По умолчанию

Спасибо огромное все работает))))

Последний раз редактировалось Alex2012; 04.09.2011 в 00:44.
Alex2012 вне форума Ответить с цитированием
Старый 04.09.2011, 10:56   #4
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Цитата:
а что за (s, e)?
Ну в общем это лямбда-выражение. Код, который я написал эквивалентен:
Код:
        public Form1()
        {
            InitializeComponent();
            имя_richtextbox.KeyDown += new KeyEventHandler(KeyDown);
         }
        private void KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode== Keys.F9) имя_button_Click(new object(), new EventArgs()); 
        }
Вообще-то не очень хорошо вызывать нажатие кнопки:
Код:
имя_button_Click(new object(), new EventArgs()
А сделать метод, который вызывается и нажатием кнопки и F9. И прицепить его лямбда выражениями к клику по кнопке и к F9. Но, правда, это мое мнение.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести на экран квадратные окна 8х8 в виде шахматной доски. Каждое нажатие клавиши клавиатуры вызывает смену цвета окон zzz6 Помощь студентам 6 05.07.2011 21:33
время нажатия клавиши BattleMage Общие вопросы .NET 2 19.09.2009 13:41
Долгое нажатие клавиши в KeyDown как одно нажатие marina15056 Общие вопросы Delphi 7 16.08.2009 00:22
отловить нажатие клавиши в ячейке (до нажатия enter) loginrl103 Microsoft Office Excel 3 07.08.2009 15:10
Измерение времени нажатия клавиши клавиатуры buka_14 Помощь студентам 6 13.04.2009 13:18