while(button==pressed) - machbar?



  • Hallo,

    gibt es in .NET eine Möglichkeit, abzufragen, ob ein Button gerade gedrückt ist?



  • Sowas würde man mit Events machen. Der Handler wird dann einfach beim Click aufgerufen. Um dauerhaftes drücken mitzubekommen gibts nichts wirklich gutes, man könnte mit den MouseDown und MouseUp Events realisieren, aber es gibt bei CodeProject.com z.b. auch so RepeatButtons die beim dauerhaften drücken mehrere Events hintereinander werfen solange der Button gedrückt ist.



  • Hallo,

    danke für die Antwort!
    Wie würde ich das mit MouseUp am besten realisieren?
    Ich habe einige Zeit gegoogelt, bin aber auf nichts verwertbares gestossen. 😞
    Ich kenne mich mit den Events nicht aus und hänge da ziemlich in der Luft.
    Wäre nett, wenn mir einer sagen würde, wie das geht, bzw. einen Link schicken könnte.



  • Wenn Du Vsiual Studio (sinnvollerweise VS2008 od. VS2005) hast würde ich einfach eine Beispiel Windows Forms Applikation erstellen und dann auf die Form ein Button ziehen und auf den Button doppelklicken. So wird ein Event Handler erzeugt.

    Edit: So ists quasi auf Mouse Button down... siehe dann bei den möglichen Events des Buttons nach um via Designer / Properties des Buttons den gewünschten Event Handler hinzuzufügen.



  • Ja, ich habe VS 2008 Pro. 🙂 Die Buttons habe ich ja alle schon erstellt.
    Konkret geht es mir darum, dass ich in meiner OpenGL Anwendung so lange der Button gedrückt ist rotiere.
    Momentan weiß ich aber nicht, wie ich das realisieren soll.
    Wie frage ich denn genau ab, ob die linke Maustaste gedrückt ist?
    Dann könnte ich doch theoretisch sobald der Button gedrückt wurde so lange rotieren, bis "MouseUp", oder?



  • ja. schätzemal das würde gehen.



  • Hi Metalhead,

    guck mal hier...

    http://www.rb-softarticle.com/Mouse.rar

    Ist aber noch Ausbaufähig.
    Hab grade nicht so viel Zeit.
    Habe ich unter VS 2005 eben gemacht.
    Sollt aber kein Problem für Dich (VS 2008) sein.

    Gruß, Doug_HH



  • Ah, sehr schön.. Danke! Das kann ich verwerten. 🙂


Anmelden zum Antworten