Имеется DataGrid (WinForms), в нем выводится список сущностей. При выборе сущности, в событии
viewPoints_FocusedRowObjectChanged(object sender, FocusedRowObjectChangedEventArgs e)
поджигаются другие события, производящие некие действия. Необходимо блокировать поджиг этих других событий при условии, что сущность была не просто выбрана, а щелкнута с зажатой клавишей Alt (это означает начало перетаскивания, DragAndDrop).
Событие MouseDown срабатывает раньше события выбора сущности, но имеет параметр MouseEventArgs e, в котором я не нашел ничего, что позволило бы проанализировать зажатую при щелчке клавишу Alt.
Событие DragEnter имеет параметр DragEventArgs e, в котором есть e.KeyState (битовая маска, в том числе и про Alt), но это событие срабатывает позже события выбора строки Grid-а, когда нежелательные по Alt'у действия уже произведены.
Радикальным образом менять архитектуру проекта не представляется возможным. Подскажите, пожалуйста, возможные пути решения!
Вы добавляете свойство KeyCode?
и при событии onkeydown записываете текущию клавишу, а в onkeyup задаете этому свойству null. А в mousedown проверяете это свойство. Свойство должно иметь тип, на конце которого должен быть знак вопроса.
Ф-ция IsKeyDown msdn
if ( Keyboard.IsKeyDown(Key.LeftAlt) ||
Keyboard.IsKeyDown(Key.RightAlt)) {
}
Либо getkeystates msdn
И есть Состояние Modifiers msdn
if ((Keyboard.Modifiers & ModifierKeys.Alt) > 0) {
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Во время разработки возникла проблема, и есть подозрения что метод OnDisconnected может вызваться асинхронно до того как завершится метод OnConnected,...
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском
Вопрос заключается в следующем : Есть база данных postgre, в ней есть таблица вот такого вида Из за сбоя в службе которая собирает статистику...