Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
3 / 3 / 4
Регистрация: 19.03.2013
Сообщений: 24

Клавиатурный тренажер

31.03.2013, 20:28. Показов 5365. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С# изучаю относительно недавно. Всего лишь первый курс. Но уже задали курсовую работу. Тема "клавиатурный тренажер". Нужно создать что то на подобии клавиатуры, и что бы нужная кнопка подсвечивалась. Я представляю как это задать кодом. Но мне нужен совет как реализовать это минимальным кодом.

Добавлено через 16 минут
Попробывал кнопакам присвоить имена KeyCode. Но возникает проблема: левые и правые Ctrl, Shift, Alt - имеют один код.

Добавлено через 29 минут
Пробывал сделать так. Но выдает ошибку в ходе компиляции: Заданное приведение является недопустимым.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void Base_KeyDown(object sender, KeyEventArgs e)
        {
            foreach (Control control in Controls)
            {
                Button but = control as Button;
                if (but!= null)
                {
                    if (e.KeyCode == (Keys)but.Tag)
                    {
                        if (s2 == but.TabIndex)
                        {
                            but.BackColor = Color.Green;
                        }
                        else
                        {
                            but.BackColor = Color.Red;
                        }
                    }
                }
            }
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2013, 20:28
Ответы с готовыми решениями:

Клавиатурный тренажер
Здравствуйте! Есть вот такая задачка: Разработать программу «Клавиатурный тренажер». Программа должна генерировать случайным образом...

Игра «Клавиатурный тренажер»
Разработать игру «Клавиатурный тренажер», который работает следующим образом: - сверху вниз «падает» буква(метка с одной буквой, код...

Доделать приложение клавиатурный тренажер
Помогите доделать курсач плз, в пятницу сдавать) При падении буква не нажимается. Не знаю как сделать чтобы буква не выходила за границы...

8
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
31.03.2013, 21:04
Цитата Сообщение от NewProg Посмотреть сообщение
C#
1
Button but = control as Button;
У тебя на форме только кнопки? Вряд ли, вот и ошибка. Проверяй тип контрола перед приведением:
C#
1
2
3
4
5
foreach (Control ctrl in this.Controls)
{
    if (ctrl.GetType() != typeof(Button)) continue;
    //Твой код
}
0
3 / 3 / 4
Регистрация: 19.03.2013
Сообщений: 24
31.03.2013, 21:17  [ТС]
Да у меня не с этим проблема возникает, а с преобразованием.
C#
1
if (e.KeyCode == (Keys)but.Tag)
А контрол я передал только над кнопками.
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
31.03.2013, 21:25
попробуй так:
C#
1
if (e.KeyCode == (Keys)Enum.Parse(typeof(Keys), but.Tag))
0
3 / 3 / 4
Регистрация: 19.03.2013
Сообщений: 24
31.03.2013, 21:31  [ТС]
Не, так сразу же ошибку выдает.
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
31.03.2013, 21:40
Цитата Сообщение от NewProg Посмотреть сообщение
сразу же ошибку выдает
Вот неужели тяжело написать какую ошибку? Скорее всего не может преобразовать Object в строку. Ну тогда так:
C#
1
if (e.KeyCode == (Keys)Enum.Parse(typeof(Keys), but.Tag.ToString()))
А как ты сохраняешь Keycode в тэг? Надеюсь, методом ToString()?
0
3 / 3 / 4
Регистрация: 19.03.2013
Сообщений: 24
31.03.2013, 21:47  [ТС]
Новая ошибка: "Ссылка на объект не указывает на экземпляр объекта."

Добавлено через 4 минуты
Да я через конструктор просто выбирал кнопку и вбивал ASCII код кнопки в поле Tag
0
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
31.03.2013, 22:13
Цитата Сообщение от NewProg Посмотреть сообщение
выбирал кнопку и вбивал ASCII код кнопки в поле Tag
И не лень тебе было. Ты путаешь ASCII-код символа и код клавиши на клавиатуре. Это разные вещи. Почитай теорию, поищи примеры.
0
0 / 0 / 0
Регистрация: 22.09.2015
Сообщений: 4
01.12.2015, 00:12
Приветствую, возможно я многого хочу, но все же, может есть какие-то толковые исходники ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.12.2015, 00:12
Помогаю со студенческими работами здесь

Клавиатурный тренажер азбуки Морзе
Я не очень хорошо разбираюсь в програмировании. Но курсовая уже горит.(Программа на языке C#) Мне нужно доделать клавиатурный тренажер...

Клавиатурный тренажер: реализовать уровни сложности
Задание довольно просто реализовал через Graph, но задание усложнилось и нужно сделать выбор сложности (но это пока ладно), нужно чтобы...

Глобальный клавиатурный хук и диспетчер задач
Я пишу глобальный клавиатурный хук. В нём при нажатии на определённые кнопки появляется сообщение о том что эта кнопка нажата. Например...

Написать тренажер клавиатуры
Мне нужно написать тренажер клавиатуры. При нажатии на кнопку старт на label должна рандомно появляться буква, и если она, с помощью...

Тренажер скорости печати
Друзья, нужна помощь по написанию программы на языке С# Тренажер скорости печати на клавиатуре Разработать приложение – игровой...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru