Announcement

Collapse
No announcement yet.

Erklärung Mausklick Abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Erklärung Mausklick Abfrage

    Hallo zusammen,
    ich habe mir ein Projekt angeschaut, dass aus einem Buch zum Erlernen der ereignisgesteuerten Programmierung stammt. Im Grunde genommen ist es egal, was das Programm machen soll. Auf jeden Fall wird nach einem MouseDown Ereignis abgefragt, ob die linke Maustaste gedrückt wurde:
    Code:
    if ((e.Button & MouseButtons.Left) > 0)
    Das ganze verstehe ich aber nicht wirklich. Ich würde das Ganze so schreiben und das funktioniert ebenfalls:
    Code:
    if (e.Button == MouseButtons.Left)
    Könnt ihr mir die obere If Bedingung genau erklären? Und was auch noch schön zu wissen wäre ist, ob es im Ergebnis, das aus beiden Bedingungen resultiert, einen Unterschied gibt.

  • #2
    Ersteres ist eine bitweise Und-Verknüpfung
    http://torrentula.to.funpic.de/dokum.../bitweisesund/
    Es liefert auch dann den richtigen Wert, wenn alle vorhandenen Maustasten gedrückt sind; d.h. wenn e.Button auch den Wert für andere Maustasten enthält
    Wenn der Wert für die rechte Taste Bit 1 ist und für die linke Bit 2 würde eButton 3 enhalten. Somit wäre die 2. Abfrage nicht mehr gültig. Durch das ausmaskieren in der ersten Abfrage würde in die Bedingung gelaufen werden.
    Zuletzt editiert von Christian Marquardt; 14.09.2013, 19:26.
    Christian

    Comment


    • #3
      Ok, also so ganz kann ich dir nicht folgen.
      Habe ich richtig verstanden, dass die erste IF Bedingung immer dann true ist, wenn unter allen gedrückten Maustasten die linke Maustaste dabei ist?! Das heißt bei "meiner" Bedingung wäre sie nur true, wenn die linke Maustaste alleine gedrückt wird?!

      Comment


      • #4
        Ja, wenn e.Button beispielsweise noch Werte über andere Maustasten, den Status der Sondertasten u.a. enthält.
        Christian

        Comment


        • #5
          Ok, dann werde ich mir nur meine Version merken, da ich bisher keinen Fall kenne, in dem mehr als eine Maustaste gedrückt werden soll.
          Danke für die Hilfe!

          Comment

          Working...
          X