Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 30.09.2021
Сообщений: 7
.NET 5

Проблема с несколькими командами клавиш в KeyDown

25.02.2022, 23:17. Показов 390. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется следующий код, который должен отменять два события (Form1_MouseMove и Form1_MouseLeave), а так же при нажатии на стрелочки должен происходить сдвиг формы в соответствующую сторону, Пробел - установить форму по центру экрана.
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
public partial class Form1 : Form
    {
        private bool methodSubscribed;
        public Form1()
        {
            InitializeComponent();
            this.KeyPreview = true;
            methodSubscribed = true;
        }
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Control && e.Alt)
            {
                if (methodSubscribed)
                {
                    MouseMove -= Form1_MouseMove;
                    MouseLeave -= Form1_MouseLeave;
                    this.BackColor = Color.Green;
                }
                else
                {
                    MouseMove += Form1_MouseMove;
                    MouseLeave += Form1_MouseLeave;
                }
                methodSubscribed = !methodSubscribed;
            }
            if (e.KeyCode == Keys.Space)
                this.CenterToScreen();
            if (e.KeyCode == Keys.Up) 
                Top -= 5;
            if (e.KeyCode == Keys.Down) 
                Top += 5;
            if (e.KeyCode == Keys.Left) 
                Left -= 5;
            if (e.KeyCode == Keys.Right) 
                Left += 5;
        }
Проблема в том, что стрелки работают только при одновременном вызове с сочетанием клавиш Ctrl+Alt, а пробел без особых затруднений отдельно. Как сделать так, чтобы стрелки работали независимо от сочетаний клавиш?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.02.2022, 23:17
Ответы с готовыми решениями:

Один объект SqlConnection работает с несколькими командами одновременно?
Один объект SqlConnection может одновременно выполнять несколько SqlCommand одновременно или она выполняет только последовательно?

Нажатие и сочетания клавиш робота с keyup, keydown, keypress,keycode
Подскажите, пожалуйста, как при нажати кнопки напр. W появляется какое-то сообщение(alert).Но чтоб не работало сочетания клавиш с W...

Проблема с хранимыми командами
Столкнулся я тут с такой проблемой есть Gupta-вский сервер, на нем хр.команда с одним параметром, возвращает одно поле. НО - ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2022, 23:17
Помогаю со студенческими работами здесь

Проблема между командами не выполняется прописанный переход
Приветствую всех! Я решил воспользоватся утилитой sort на UBUNTU для проверки дубликатов значении в нескольких тестовых файлов. Для этого я...

Работа с несколькими буферами обмена, для каждого - своя комбинация клавиш
Ищу программу для работы с буфером обмена. Требуется поддержка нескольких буферов, на каждый из которых будет своя комбинация клавиш. ...

Выполнить умножение на 32 и деление на 8 арифметическими командами и командами сдвига
Помогите с лабой пожалуйста. При выполнении лабораторной используется программа - emu8086

При вводе с клавиатуры в wndProc приходят непонятные коды клавиш(работа с несколькими клавиатурами)
Задача стоит определять ввод со сканера штрих кодов, который определяется и работает как стандартная клавиатура. Для этого использую...

Проблема с работой с несколькими формами
Главное окно: //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
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 и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru