"KeyPress" - Ereignis für WinForms textbox fehlt?
Ich versuche, fügen Sie ein "KeyPress" - event in eine textbox (WinForm)
this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(CheckKeys);
und hier ist im inneren des "CheckKeys':
private void CheckKeys(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
{
//Enter is pressed - do something
}
}
Die Idee hier ist, dass, sobald eine textbox den Fokus hat und die 'Enter' - Taste gedrückt wurde, wird etwas geschehen...
Allerdings meine Maschine nicht finden können, das 'KeyPress' - Ereignis.
Gibt es etwas falsch mit meinen codes?
UPDATE:
Ich auch versucht, indem KeyDown statt Tastendruck:
private void textBox1_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == Key.Return)
//Enter is pressed - do something
}
}
Immer noch nicht funktioniert aber...
Haben Sie versucht, suchen KeyDown?
Dieser sollte funktionieren - sind Sie sicher, dass Sie abonnieren Sie Ihre CheckKeys-handler an der richtigen Stelle? Was passiert, wenn man der MessageBox.Show(e.KeyChar.ToString()) in Ihrer handler - catch-Ereignisse?
funktioniert nicht. Ich war versucht, ein Ereignis zu erstellen, ähnlich dem Klick auf eine Schaltfläche durch drücken der EINGABETASTE.
Fehler kam: 'System.Windows.Controls.TextBox " enthält keine definition für 'KeyPress' und keine Erweiterungsmethode 'KeyPress' die Annahme ein erstes argument vom Typ 'System.Windows.Controls.TextBox' gefunden werden konnte (fehlt eine using-Direktive oder ein Assemblyverweis?)
Du hast die falsche TextBox irgendwie. Sie sind mit der WPF (System.Windows.- Kontrollen), nicht die WinForms. Überprüfen Sie Ihre Direktiven verwenden, oder die Kraft Ihrer TextBox-System.Windows.Formen.TextBox
Dieser sollte funktionieren - sind Sie sicher, dass Sie abonnieren Sie Ihre CheckKeys-handler an der richtigen Stelle? Was passiert, wenn man der MessageBox.Show(e.KeyChar.ToString()) in Ihrer handler - catch-Ereignisse?
funktioniert nicht. Ich war versucht, ein Ereignis zu erstellen, ähnlich dem Klick auf eine Schaltfläche durch drücken der EINGABETASTE.
Fehler kam: 'System.Windows.Controls.TextBox " enthält keine definition für 'KeyPress' und keine Erweiterungsmethode 'KeyPress' die Annahme ein erstes argument vom Typ 'System.Windows.Controls.TextBox' gefunden werden konnte (fehlt eine using-Direktive oder ein Assemblyverweis?)
Du hast die falsche TextBox irgendwie. Sie sind mit der WPF (System.Windows.- Kontrollen), nicht die WinForms. Überprüfen Sie Ihre Direktiven verwenden, oder die Kraft Ihrer TextBox-System.Windows.Formen.TextBox
InformationsquelleAutor abramlimpin | 2010-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mischen Sie Klassenbibliotheken verwenden Sie nicht Windows-Forms-Klassen in ein WPF-Projekt. Machen Sie es wie folgt Aussehen:
InformationsquelleAutor Hans Passant
Haben Sie schaute auf die Dokumentation auf
KeyPress
? Es besagt insbesondere, dass Das KeyPress-Ereignis wird nicht ausgelöst, durch nicht-Schlüssel; aber die nicht-Tasten erhöhen die KeyDown-und KeyUp-Ereignisse. Mithilfe eines jener Ereignisse statt, sollte funktionieren.InformationsquelleAutor Anders Abel
versuchen Sie folgenden Schritten, es wird funktionieren, bcoz ich habe es getestet.
geben Sie dann den folgenden code.
InformationsquelleAutor Sanford