|
Master of Orion
|
|
Запрет фокусировки на кнопке для корректной работы KeyDown29.08.2012, 22:27. Показов 5345. Ответов 20
Метки нет (Все метки)
Здравствуйте! Возник вопрос: у меня игрушка, реагирует на нажатие стрелок, решил добавить кнопку "выход", проблема в том, что теперь мышь фокусируется на кнопке и не реагирует на стрелки. Решил имитировать WPF routed events, и вызывать на button.KeyDown событие Form.KeyDown, но почему-то при нажатии кнопок управление к button.KeyDown не возвращается. Почему так я не знаю. Как это можно сделать, скажите, пожалуйста? А то мне кажется, что на wpf у меня не получится сделать, сложновато там имо.
0
|
|
| 29.08.2012, 22:27 | |
|
Ответы с готовыми решениями:
20
Настройка и запуск VirtualBox для корректной работы ? Как переделать функцию для корректной работы? Есть ли какие то обновления для Windows 7 x86 для корректной работы Free Pascal |
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
|
| 29.08.2012, 22:37 | |
|
А если в обработчике события получения фокуса что-то намудрить?
0
|
|
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
| 29.08.2012, 22:43 | |
|
А что при трасировке происходит?
Смотри,в WPF есть 2 способа обращения к компоненту.Из контейнера к компоненту и из компонента к контейнеру(туннелинг или пулинг называется,уже не помню).Попробуй корректно разобраться кто из этих 2-их должен реагировать,а кто реагирует на самом деле.
0
|
|
|
Master of Orion
|
|
| 29.08.2012, 22:43 [ТС] | |
|
DimanRu, в любом случае, нужно что-то делать со свойством Focus или CanFocus, а они не имеют сеттера. Пробовал делать кнопку Enabled = false, и попробовать её активировать при наведении мыши, но в выключенном состоянии она не реагирует на события. В общем, не знаю не знаю...
Noob.net, я говорю, я попытался эту концепцию реализовать на WF, на WPF все прекрасно бы работало, я и так знаю. Только у меня там рисовать пока плохо получается
0
|
|
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
|
| 29.08.2012, 22:55 | |
|
А вы не при наведении мыши, а при перемещении мыши, с условием что координаты курсора совпадают с областью, занимаемой кнопкой. Сейчас попробую накидать код.
0
|
|
|
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
|
|
| 29.08.2012, 23:02 | |
|
Для игра пожалуй, да, не рациональное.
0
|
|
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|||
| 29.08.2012, 23:30 | |||
|
Есть событие OnFocus
на WF все должно работать строго и прекрасно. А зачем мышку таскать при нажатии клавиш?//если такое имеет место События вызывай а мышка пусть тусуется. Или проблемы при исп.клавиш? Добавлено через 1 минуту
0
|
|||
|
Master of Orion
|
|
| 30.08.2012, 00:12 [ТС] | |
|
Noob.net, при запуске приложения фокус автоматически смещается на кнопку (т.к. у меня на форме больше вообще нету никаких компонент, которые можно мышкой активировать, не считая меню). И он его автоматически фокусирует
0
|
|
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
| 30.08.2012, 00:18 | |
|
Так контролируй фокус.
Или при запуске наблюдается непослушание мыши? Тогда вы что-то начудили в коде.
0
|
|
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
||||||
| 30.08.2012, 00:19 | ||||||
0
|
||||||
|
Master of Orion
|
|
| 30.08.2012, 00:39 [ТС] | |
|
Blood-Angel, не помогает
Noob.net, в InitializeComponent(); происходит смещение фокуса, а потом я уже ничего с ним сделать не могу novi4ok, у меня такого класса нет ... Нашел в System.Windows.Input (хотя это неймспейс WPF, если я не ошибаюсь). Соответственно: работать не хочет...
0
|
|
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
||||||
| 30.08.2012, 00:59 | ||||||
|
Psilon, что? Волшебная студия, которая компилирует код как не у меня? Или ты пытаешься перехватить кнопки управлением фокуса? Ну-ну, успехов.
Добавлено через 12 минут На тебе грязный хак:
0
|
||||||
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
|||||||||||
| 30.08.2012, 11:35 | |||||||||||
|
Забавная архитектура. А сколько дыр. Чего только стоит нажать неправильную кнопку на клавиатуре. (:
(Не знаю, правда, почему в форме "Рекорды" нет кнопки закрыть и почему при масштабировании вида игра начинается сначала) Добавляем кнопку на форму и изменяем таким образом код:
Или определить в нужном виде: Resharper - Options - Code Editing - C# - C# Naming Style P.S. Сильная привязка статического(?) класса Game к WinForms.
0
|
|||||||||||
|
Master of Orion
|
|||||||||
| 30.08.2012, 12:03 [ТС] | |||||||||
|
Blood-Angel, сильная, и так знаю, подключение WF неймспейса заранее обрекает этот класс на использование в каком-нибудь WPF, это да, но знал бы, как сделать иначе, сделал бы. Я старался максимально развязать код (насколько мне мои знания позволяют), но получилось, видимо, не очень.
Начинается сначала - потому что при масштабировании меняется размер карты (визуально размер тот же, но количество "клеток" становится меньше, так, чтобы сама карта осталась прежнего размера (в пикселях).
Добавлено через 12 минут Хотя если у вас есть время на более детальный просмотр проекта, я бы выслушал конструктивную критику (я же не продавать собираюсь, а учусь и, соответственно, оставляю за собой право на ошибку, которую неплохо бы исправить). Добавлено через 2 минуты
0
|
|||||||||
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
||||||
| 30.08.2012, 12:32 | ||||||
|
Должна быть кнопка Advanced Settings, с помощью которой можно добавлять свои правила. Но это не интересно. Если глянуть в средину окна, то можно увидеть надписи типа:
WF - это Windows Workflow Foundation и не что другое. Меня малость вгоняет в ступор такая запись. Бывает правда случаи, когда невозможно вынести общую логику. Если интересно, то есть цикл уроков, где демонстрируется магия (на английском хотя): Смотреть видео
1
|
||||||
| 30.08.2012, 14:42 | |
|
0
|
|
| 30.08.2012, 14:42 | |
|
Помогаю со студенческими работами здесь
20
Где нужно всунуть Критическую секцию для корректной работы Определить, какое количество видеопамяти необходимо для корректной работы сотового телефона Ищу драйвера под видеокарту Intel HD Graphics для корректной работы OpenGL Как запускать программу так, чтобы ей были доступны необходимые для её корректной работы каталоги с файлами?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|