--> Combobox && Enter Taste
-
Hallo zusammen,
Ich bekomme es einfach nicht hin, eine Nachricht zu bekommen wenn die Enter-Taste gedrückt wurde und der Focus gerade in der Combobox ist. Ich bekomme einfach garkeine Nachricht. Was mache ich falsch?
Code:
private: System::Void comboBox1_KeyDown(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e) { if(e->KeyCode == System::Windows::Forms::Keys::Enter) { this->LosButton->PerformClick(); } }
-
Bist du sicher, dass du den Event-Handler richtig registriert hast? In C# funktioniert das bei mir genau so. Da dein Code allerdings kein C# ist sondern C++/CLI, verschiebe ich dich gleich mal ins richtige Unterforum.
Grüssli
-
Dieser Thread wurde von Moderator/in Dravere aus dem Forum C# und .NET in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ich weiß nicht, aber alle anderen Tastendrücke kommen ja an außer eben die Enter-Taste...
-
Es liegt daran, dass die Combobox alle "Spezialtasten" abfängt, es gibt eine Methode die du überschreiben musst, in der du dann das Verhalten veränderst: AFAIK müsste es IsInputKey sein o.s.ä. sonst kannst du wenn du inder Form KeyPreview auf true stellst auch dort die Tasten abfangen:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.isinputkey.aspx
-
Meinst du denn auch die Enter Taste? Oder die Return Taste?
Ansonsten könnte es auch an der Eigenschaft SuppressKeyPress liegen.
-
private: System::Void toolStripTextBox1_KeyDown(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e) { if (e->KeyCode == Keys::Enter) toolStripButtonLos_Click(sender, e); }
eingabe im KeyDown prüfen -> wenn ENTER-Taste gedrückt -> dann Ausführen was Button X macht
ist nur ein Beispiel
Entscheidend ist die if-AbfrageEDIT: ups, das steht ja schon da ,
dann ändere nur den Inhalt in der SchleifeLosButton_Click(sender, e);
mfg