.NET Compact Framework: контроль над проблемой Control OnMouseDown - PullRequest
0 голосов
/ 04 декабря 2009

Я занимаюсь разработкой WinForm Windows Mobile 5.0 или выше с .Net Compact Framework 2.0 SP2 и C # .

У меня есть два пользовательских элемента управления (два класса, которые наследуются от Control). Если я щелкаю по определенному местоположению control1, он показывает control2 (control2 - это control of control1). Другими словами, control2 - это всплывающее меню, которое отображается поверх control1.

Control2 имеет две ссылки. Если пользователь нажимает на одну из них, control2 генерирует событие, чтобы уведомить control1 о выборе пользователя.

На элементе управления 1 я переопределил OnMouseDown, OnMouseUP и OnMouseMove.

Ok. Я отлаживал код в том случае, если пользователь нажимает на ярлык ссылки на control2. Событие проходит:

  • На control2, метод linklabel_click.
  • На control1, control2_customEvent способ.
  • И, вот моя проблема , На control1, Метод OnMouseMove и OnMouseUp.

Если я нажимаю на control2, не щелкая ярлык ссылки, он также выбрасывает control1.OnMouseMove и control1.OnMouseUp.

ОБНОВЛЕНИЕ:

Почему OnMouseMove и OnMouseUp запускаются на control1 , если я нажимаю control2 ?

Спасибо!

1 Ответ

1 голос
/ 04 декабря 2009

Это правильно. Наведите курсор мыши на элемент управления 2. Элемент управления 2 исчезает, поэтому соответствующая функция MouseUp вызывается для элемента управления, который теперь отображается (Control1).

Чтобы избежать этого, отключите обе функции: MouseUp или MouseDown, а НЕ комбинацию двух.

...