Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
3 / 3 / 1
Регистрация: 06.04.2009
Сообщений: 165
1

Функция которая проверяет нужная ли клавиша нажата

26.05.2016, 07:56. Просмотров 600. Ответов 4
Метки нет (Все метки)


Доброго времени суток!
Нужно написать функию которая проверяет правильная ли клавиша нажата.
В С++ это выглядело бы так:
C++
1
2
3
4
5
6
7
void CorrKey (char ch)
{
    while (ch != 'a')
    {
     ...
    }
}
как подобное возможно написать в C#?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2016, 07:56
Ответы с готовыми решениями:

Функция, которая проверяет нажата ли клавиша?
Здравствуйте всем. Функция принимающая строку в качестве аргумента. Должна проверить нажата ли...

Составьте программу которая выводит символы нажатых клавиш до те пор, пока не нажата клавиша ENTER
Составьте программу которая выводит символы нажатых клавиш до те пор, пока не нажата клавиша ENTER....

Как проверять, нажата ли клавиша Esc, в каждой итерации цикла, и если нажата, то прервать выполнение цикла?
OwenGlendower, это обращение прежде всего к вам. Вызов функции, в которой происходит проверка...

Задача: опрос клавиатуры. При нажатии любой клавиши должно появиться сообщение:"Нажата клавиша "(клавиша)"
Здравствуйте. Задача: опрос клавиатуры. При нажатии любой клавиши должно появиться...

4
1354 / 802 / 434
Регистрация: 14.04.2015
Сообщений: 3,038
26.05.2016, 09:10 2
так же, как и в с++. ведь они из одного семейства, так сказать) гугли побольше, так ведь интереснее - самому разбираться
C#
1
2
3
4
5
6
7
8
 
 private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
 if (e.KeyChar == 'f')
            {
                MessageBox.Show("Нажата клавиша:" + e.KeyChar);             
            }
}
0
3 / 3 / 1
Регистрация: 06.04.2009
Сообщений: 165
26.05.2016, 21:35  [ТС] 3
Так я тоже умею =))

Добавлено через 5 минут
Загвоздка в другом. Вот моя функция:
C#
1
2
3
4
5
6
7
8
private void CorrKey(char ch1, char ch2)
        {
            while (ch1 != ch2)
            { 
              ...
            }
 
        }
один аргумент - стоп-символ, который должен остановить выполнение цикла. Как записать вторым аргументом нажатую клавишу?

Добавлено через 1 минуту
Эта фунция будет использоватся в switch, стоп-символов может быть 20+ и захламлять код копипастом я не хочу...

Добавлено через 2 минуты
Функция должа выполнятся пока не будет нажата нужная клавиша, поэтому if тут не подходит

Добавлено через 11 часов 43 минуты
вопрос еще актуален
0
46 / 46 / 32
Регистрация: 10.05.2013
Сообщений: 180
26.05.2016, 22:53 4
Не совсем понятно что именно вы хотите. Зачем в цикле проверять, "правильная" ли клавиша нажата?
Что вы хотите отследить и какие действия выполнять, если получен не "стоп-символ"?

Добавлено через 5 минут
Вообще, если вы не хотите делать цикл в событии, можете объявить глобальную переменную типа char, а в событии key_press присваивать ей значение e.KeyChar и после проверять где вам удобно. Если же запускать ваш цикл в событии key_press, то он по идее до стоп-символа не передаст управление, циклично повторяя одни и те же действия. Вам это надо?
0
3 / 3 / 1
Регистрация: 06.04.2009
Сообщений: 165
26.05.2016, 23:01  [ТС] 5
Есть в switch 4 меню (на данный момент) в которых надо нажать некую клавишу для того чтобы программа продолжила действие. И пока клавиша не нажата, надо дальше ждать нажатия нужной клавиши.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2016, 23:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Нажата ли клавиша
Как проверить нажата ли Ctrl?

while ( не нажата клавиша)
Есть цикл while. Нужно что б цикл заканчивал виполнение если нажата клавиша ... Добавлено через...

Функция, которая проверяет соседние элементы
Дан массив a Функция, которая проверяет, что в каждой строке есть 2 соседних элемента, сумма...

Функция, которая проверяет принадлежность числа диапазону
Написать функцию, которая по заданному вещественному числу формирует список двух элементов. Первый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.