Input für Editor



  • Hallo,

    ich verwende managed C++ und .NET für meine Windows-GUI für einen Editor. Den Grafikteil hingegen programmiere ich mit unmanaged C++.
    Wie kann man jetzt einen richtige Input-Abfrage hinbekommen?
    Ich wollte die gedrückten Tasten abfragen:

    private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    		{
    			System.Windows.Forms.MessageBox.Show("KeyDown");
    		}
    
    		private void Form1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    		{
    			System.Windows.Forms.MessageBox.Show("KeyPress");
    		}
    
    		private void Form1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
    		{
    			System.Windows.Forms.MessageBox.Show("KeyUp");
    		}
    

    Allerdings erscheinen keine Messageboxen! Warum nicht?
    Und gibt es eine Möglichkeit irgendwie eine Game-Loop mit .NET zu implementieren, die jedes Frame ausgeführt wird?



  • Schau Dir mal die KeyPreview Eigenschaft der Form an, dass sollte dein Problem mit den MessageBoxen lösen.

    KeyPreview:

    Ruft einen Wert ab, der angibt, ob das Formular Tastaturereignisse empfängt, bevor das Ereignis an das Steuerelement übergeben wird, das den Fokus besitzt, oder legt diesen fest.


Anmelden zum Antworten