-=Renegade=-
Lt. Junior Grade
- Registriert
- Nov. 2006
- Beiträge
- 430
Hallo,
Ich habe ein Problem und komme einfach nicht dahinter.
Ich hab eine Windows Forms Anwendung, die von einem Barcode-Scanner (der wie eine Tastatur funktioniert) sowie der Tastatur selbst liest.
Damit man mit dem Focus keine Probleme hat, habe ich nicht eine eigene Textbox gemacht, in die man reinschreiben muss bzw. den Fokus setzen muss, sondern lese einfach in der Mainform alle Keyevents aus.
Das funktioniert solange gut, bis ich in ein ListView Element klicke, das bei einer Einstellung existiert. Sobald ich dort hineinklicke bzw. den Fokus auf ein anderes Programm lege und danach zurückwechsle, übernimmt er keine Tastatur bzw. Barcode Scanner Eingaben mehr.
Ich hab schon probiert, den Focus wieder auf die Mainform zu legen, aber ohne Erfolg. Ebenso klang das hier aus der MSDN viel versprechend, hat aber auch nicht funktioniert:
Gibt es eine Möglichkeit, dass alle Key Events nur auf die Mainform gehen? Oder wie handelt man dieses Problem korrekt?
Anbei der Mainform KeyPress Code:
Gelöst: this.KeyPreview = true
Vielen Dank im Voraus
so long
Renegade
Ich habe ein Problem und komme einfach nicht dahinter.
Ich hab eine Windows Forms Anwendung, die von einem Barcode-Scanner (der wie eine Tastatur funktioniert) sowie der Tastatur selbst liest.
Damit man mit dem Focus keine Probleme hat, habe ich nicht eine eigene Textbox gemacht, in die man reinschreiben muss bzw. den Fokus setzen muss, sondern lese einfach in der Mainform alle Keyevents aus.
Das funktioniert solange gut, bis ich in ein ListView Element klicke, das bei einer Einstellung existiert. Sobald ich dort hineinklicke bzw. den Fokus auf ein anderes Programm lege und danach zurückwechsle, übernimmt er keine Tastatur bzw. Barcode Scanner Eingaben mehr.
Ich hab schon probiert, den Focus wieder auf die Mainform zu legen, aber ohne Erfolg. Ebenso klang das hier aus der MSDN viel versprechend, hat aber auch nicht funktioniert:
To handle keyboard events only at the form level and not enable other controls to receive keyboard events, set the KeyPressEventArgs.Handled property in your form's KeyPress event-handling method to true.
Gibt es eine Möglichkeit, dass alle Key Events nur auf die Mainform gehen? Oder wie handelt man dieses Problem korrekt?
Anbei der Mainform KeyPress Code:
Code:
private void MainForm_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
{
//Enter Key pressed, start Operation
}
else
{
s += e.KeyChar;
}
e.Handled = true;
}
Gelöst: this.KeyPreview = true
Vielen Dank im Voraus
so long
Renegade
Zuletzt bearbeitet: