none
Событие MouseMove RRS feed

  • Вопрос

  • WPF C#

    Подскажите пожалуйста

    У меня Canvas на нём событие

    CNVPlan_PreviewMouseMove

    Оно почему то отрабатывает даже тогда когда мышь находится в покое и вообще не движется

            void CNVPlan_PreviewMouseMove(object sender, MouseEventArgs e)
            {
                MessageBox.Show("запуск");
    }Как можно этого избежать? Т.е. "вожу" мышкой работает, не вожу не работает?

    Правда Canvas находится в Grid у которого тоже есть PreviewMouseMove. Может это то событие обновляет всех Childrenov и поэтому и на Canvas срабатывает Move,

    Завтра проверю

    22 ноября 2015 г. 18:15

Ответы

  • Добрый день.

    Современные мышки очень чувствительные, вы нажали клавишу на клавиатуре, за окном проехал грузовик, стол немножко затрясся, у вас произошло движение мыши. Как вариант, запоминайте предыдущее расположение мыши и смотрите на сколько произошло изменение при следующем вызове. Если меньше некоторой дельты, то ничего не делайте, кроме запоминания новой позиции.

    • Помечено в качестве ответа DevingAs 23 ноября 2015 г. 11:22
    23 ноября 2015 г. 9:56
    Отвечающий

Все ответы

  • Добрый день.

    Современные мышки очень чувствительные, вы нажали клавишу на клавиатуре, за окном проехал грузовик, стол немножко затрясся, у вас произошло движение мыши. Как вариант, запоминайте предыдущее расположение мыши и смотрите на сколько произошло изменение при следующем вызове. Если меньше некоторой дельты, то ничего не делайте, кроме запоминания новой позиции.

    • Помечено в качестве ответа DevingAs 23 ноября 2015 г. 11:22
    23 ноября 2015 г. 9:56
    Отвечающий
  • Алексей тряска исключена, я даже кнопку выключения мыши на ней выключал. Нажимаю пробел, окно MessageBox закрывается - тут же открывается снова.

    Решил вопрос как Вы и написали.

    Спасибо

    23 ноября 2015 г. 11:25
  • Вполне возможно, что перед тем как вы отключили мышку в очередь диспетчера было поставлено несколько событий...
    23 ноября 2015 г. 11:38
    Отвечающий