Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для VLaDoS_2001a
319 / 216 / 114
Регистрация: 14.05.2020
Сообщений: 890

KeyDown

17.10.2020, 12:54. Показов 1476. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не работает событие KeyDown , this.KeyPreview = true; тоже не полагает
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApp5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
 
            InitializeComponent(); 
            this.KeyPreview = true;
            this.label1.Text = "0";
            this.label2.Text = "Score";
            this.trackBar1.Minimum = 1000;
            this.trackBar1.Maximum = 60000;
            this.textBox1.Text = "None Gamer";
            this.counter = 1;
            this.score = 0;
            
            rand = new Random();
            arr = new int[25];
            for(int i = 0; i < 25; ++i)
            {
                arr[i] = i + 65;
            }
            KeyPreview = true;
        }
        private string game;
        private int counter;
        private int score;
        private Random rand;
        private int tmp;
        private int[] arr;
 
        private void timer1_Tick(object sender, EventArgs e)
        {
           
            this.tmp = rand.Next(0, 25 );
            this.label1.Text = ((char)arr[tmp]).ToString();
            this.tmp = arr[tmp];
            ++this.counter;
 
            if(this.counter == 10)
            {
                FileStream fileStream = new FileStream("1.txt", FileMode.Append);
                using (StreamWriter writer = new StreamWriter(fileStream))
                {
                    writer.WriteLine(this.game + " " + this.score.ToString());
                    writer.Close();
                }
                this.counter = 1;
                this.score = 0;
 
            }
        }
        
        
 
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData.ToString() == tmp.ToString())
            {
                this.score += 100;
                this.label2.Text = "Score: " + this.score.ToString();
 
            }
            else if(e.KeyData.ToString() == tmp.ToString())
            {
                this.label2.Text = "Score: " + this.score.ToString();
                this.score -= 40;
            }
        }
 
     
 
        private void label3_Click(object sender, EventArgs e)
        {
            if (this.textBox1.Text != "None Gamer")
            {
                this.timer1.Interval = this.trackBar1.Value;
                this.game = this.textBox1.Text;
                this.timer1.Start();
                this.textBox1.Enabled = false;
                this.trackBar1.Enabled = false;
                this.KeyPreview = true;
                this.label3.Enabled = false;
 
            }
        }
    }
 }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.10.2020, 12:54
Ответы с готовыми решениями:

KeyDown
Мне нужно чтобы когда нажимаешь кнопку F4 он в открытом окне визуально нажимал кнопку Enter и писал сообщение &quot;Hotkey By...

Не работает KeyDown
Пытаюсь перенести старые наработки 2d движка с Java на C#. Вот столкнулся с проблемой. Клик на кнопку выдает ошибку, ругается конкретно на...

Не срабатывает Form.KeyDown
private void Form1_KeyDown(Object sender, KeyEventArgs e) { Point p = new Point(); switch (e.KeyCode)...

3
fly
 Аватар для I can
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,812
17.10.2020, 13:01
Цитата Сообщение от VLaDoS_2001a Посмотреть сообщение
Не работает событие KeyDow
В дизайнере есть?
0
 Аватар для VLaDoS_2001a
319 / 216 / 114
Регистрация: 14.05.2020
Сообщений: 890
17.10.2020, 13:02  [ТС]
I can, да
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
17.10.2020, 13:05
Лучший ответ Сообщение было отмечено VLaDoS_2001a как решение

Решение

VLaDoS_2001a,
два одинаковых условия в if и в else if
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.10.2020, 13:05
Помогаю со студенческими работами здесь

Несколько событий KeyDown
Добрый день. Нужно на форме сделать два события KeyDown, которые будут срабатывать на нажатия только определенных клавиш (в разных...

Как заставить обработчик KeyDown обрабатывать клавиши Up и Down?
Мне нужно, чтобы контрол обрабатывал клавиши &quot;стрелка вверх&quot; и &quot;стрелка вниз&quot;. Вместо этого, когда мой контрол в фокусе, фокус просто...

Можно ли с помощью KeyDown поймать 2 кнопки зажатые одновременно?
Да все уже разобрался :) Тенкс :) Теперь вопрос номер... Уже сбился по счету :) Можно ли с помощью KeyDown поймать 2 кнопки зажатые...

Есть HWND окна. Нужно добавить на окно обработчик события KeyDown
Есть HWND окна. Нужно добавить на окно обработчик события KeyDown. Код в библиотеке загружаемой в приложение, можно получить HWND окна.

KeyDown
Помогите с помощью метода KeyDown запретить в TextBox вводить буквы (только цифры)


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru