MouseDown und Click-Konflikt

Habe ich ein Ziehen () - Methode auf form_MouseDown Veranstaltung. Ich habe auch ein click-Ereignis auf dem Formular. Das problem ist, dass wenn ich auf dem Formular -, MouseDown-event wird ausgelöst, und es bekommt nie die chance auf trigger-Ereignis klicken.

Was ist der beste Weg, um dieses Problem zu lösen? Ich dachte die Pixel zählen, wenn das Formular tatsächlich gezogen, aber es muss einen besseren Weg geben. Irgendwelche Vorschläge?

  • "zähl-Pixel" ist durchaus üblich, weil in den meisten Fällen, die Sie tatsächlich nicht wollen die ZIEHEN das Feuer aus, wenn die "Bewegung Strecke" kürzer ist, als z.B. 7..15 Pixel. Auch der windows-desktop hat sich so ein paar-pixel-Schwelle.
  • Verwenden Sie nicht Click, und verwenden Sie MouseUp statt?
  • Ich erstellte eine demo und ich bin nicht immer dieses Verhalten. Nach dem MouseDown-Auf erreicht ist. Kannst du etwas code?
  • Vielleicht ist er auch 'acks' die Veranstaltung Behandelt=wahr oder vergisst zu nennen, die Basis-Implementierung, etc?
  • Wie wird das das problem lösen? Die MouseUp Ereignis noch ausgelöst wird, wenn der Benutzer die Maustaste loslässt, nach ein ziehen. Die Click event ist eigentlich nur das Ereignis ausgelöst, nachdem ein Zyklus von MouseDown und MouseUp Veranstaltungen.
  • common-handler für Drag und die tatsächliche klicken Sie auf. Zwei bedingten Verzweigungen, die entweder für action drinnen. Klicken Sie auf einem eigenen branch ansonsten erforderlich wäre, die zusätzlichen code, um die Synchronisierung mit MouseDown und MouseUp. In jedem Fall, es ist schwer zu sagen ohne mehr details von der OP.

InformationsquelleAutor Kristian | 2013-03-10
Schreibe einen Kommentar