Überprüfen ob eine taste gedrückt ist



  • Hi, ich wollte ien lustiges kleines programm schreiben, in dem sich Linien von oben nach unten und rechts nach links bewegen, und man dabei einen punkt zwischen den linien mit den pfeiltasten steuern kann.

    Das mit den linien hab ich schon hinbekommen, hab das mit der graphics klasse und draw dann halt gelöst. Mit schleifen bewegen die linien sich dann wie auch immer das geht halt.

    Ich wollte nun eine abfrage bei jedem schleifen durchlauf einfügen, die überprüft ob eine Taste gedrückt ist.
    also mit if()...
    wenn das der fall is soll sich der punkt in die entschprechende richtung bewegen.

    Nun mein problem:
    Wie kann ich überprüfen ob eine bestimmte oder überhaupt eine Taste gedrückt ist?
    😕

    ich hab schon this. ... durchgesucht aber da gibts nur das KeyDown oder KeyPress event, dass leider erst ausgeführt wird wenn sich die Lienen nich mehr bewegen. Dann allerdings funktioniert das. Nur beides zusammen nich.
    Ich weiss, dass ich das auch mit nem neuen Thread lösen können müsste, nur ich hab bis jetz noch nich wirklich kapiert wie threads funzen (zumindest nich in C#) und will das dann wie eben beschrieben lösen.
    Bitte keine Links auf pages die erklären wie threads funzen.

    Es wär echt geil wenn jemand schreiben könnte was genau man da schreiben muss um das zu prüfen.

    Meine Umgebung/Compiler: MS VS .NET 2003 / C#

    Danke im Vorrraus ihr seid total genial! 😃
    Und verzeiht bitte meine n00b fragen... 😞



  • void FuncPaintLine()
    {
        if (Control.ModifierKeys == Keys.Shift )
            // ...
    }
    


  • naja aber kann man damit nicht nur überprüfen, ob die shift, alt oder strg taste gedrückt wird, oder kann man da jede beliebige Taste angeben?



  • Nur shift, alt oder strg tasten, aber wenn du bevor du zeichnen möchtest erst System.Window.Forms.Application.DoEvents( ) aufrufst, werden erstmal alle Events abgearbeitet, somit bekommst du auch dein Press event kurz bevor du zeichnen möchtest ( Auch mal AddMEssageFilter genauer anschauen )



  • du bist mein held 😃 😃 😃

    Ja sauber jetz gehts vielen vielen dank !!!!!!!


Anmelden zum Antworten