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

Обработка нажатий клавиш мыши и кнопок клавиатуры

22.10.2015, 11:40. Показов 4481. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, возникла проблема с кодом:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            if(e.Button==MouseButtons.Right)
            {
                this.Height -= 10;
                this.Width -= 10;
                this.Location = new Point(this.Location.X + 5, this.Location.Y + 5);
            }
 
            if(e.Button==MouseButtons.Right && ModifierKeys == Keys.Shift)
            {
                this.Height += 10;
                this.Width += 10;
                this.Location = new Point(this.Location.X - 5, this.Location.Y - 5);
            }
        }

Если пользователь нажимает правую кнопку мыши, то форма должна сжиматься на 5 пикселей со всех сторон, если пользователь нажимает правую кнопку мыши с нажатой клавишей Shift, то форма должна увеличиться на 5 пикселей во все стороны.
При нажатии правой кнопки мыши все работает корректно, но при нажатии на мышь и клавишу Shift срабатывают сразу оба условия, то есть форма и уменьшается и увеличивается.
Я вроде разграничил эти условия, но они не работают.
Как можно разграничить условия, чтобы все работало правильно?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.10.2015, 11:40
Ответы с готовыми решениями:

Обработка нажатий кнопок мыши на регион
При нажатии ПКМ на регион(квадрат) действий не происходит. В чём проблема? #include <windows.h> LRESULT CALLBACK WndProc...

Обработка нажатий кнопок клавиатуры
Вот моя проблема - хотел написать игрушку на javascript(вроде galaxy), все упирается в то , чтобы скрипт мог обрабатывать нажатие...

Обработка нажатий клавиш программной клавиатуры
Не знаю, была ли эта тема. Но столкнулся с такой проблемой: допустим есть макет с EditText и ListView. Они отображаются сверху вниз в...

1
 Аватар для Alon437
20 / 20 / 10
Регистрация: 25.03.2014
Сообщений: 39
22.10.2015, 12:04
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            if(e.Button==MouseButtons.Right)
            {
 
                if(ModifierKeys == Keys.Shift)
                {
                    this.Height += 10;
                    this.Width += 10;
                    this.Location = new Point(this.Location.X - 5, this.Location.Y - 5);
                } else
                {
                    this.Height -= 10;
                    this.Width -= 10;
                    this.Location = new Point(this.Location.X + 5, this.Location.Y + 5);
                }
            }
        }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.10.2015, 12:04
Помогаю со студенческими работами здесь

Запоминание нажатий кнопок и мыши
Как сделать чтобы все нажатия с клавиатуры и мыши посылались в Memo даже если форма на которой расположено Memo не активна? Например если...

Отслеживание нажатий кнопок мыши
Доброго времени суток, форумчане. помогите разобраться на конкретном примере с нажатиями кнопок мыши. интересует нажатия когда окно...

Получить координаты нажатий левой и правой кнопок мыши
вот надо получить координаты нажатий левой и правой кнопок мыши. меня вот что интересует после каждого mov надо вызвать 33-е...

Обработка нажатий клавиш
Есть у меня .net приложение и есть необходимость обрабатывать клавиатуру в чужом окне (thread id и hwnd у меня есть). Сказано - сделано,...

Обработка нажатий клавиш
подскажите как обрабатывать нажатия клавиш символов (цифры, буквы) в WinApi C++, служебные клавиши обрабатываются как то так: switch...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru