Hi!
Ich hab eine Frage und zwar fange ich derzeit mittels der KeyDown- und KeyPress- Events ab, ob ein falsches Zeichen eingegeben wurde oder nicht.
Es handelt sich um eine TextBox in der nur Zahlen eingegeben werden dürfen. Derzeit sieht mein Code folgendermaßen aus:
Wenn ich nun eine reguläre Zahl eingebe sagen wir 1, dann schreibt er mir diese in die TextBox.
Wenn ich aber die 1 in Kombination mit Shift drücke, ignoriert er die Eingabe.
Dies ist auch korrekt so.
Meine Frage ist aber nun, wie kann ich rausfinden, ob die FESTSTELLTASTE gedrückt wurde und somit bei einer Eingabe von 1 ein ! geschrieben werden würde. Weil hier muss diese ja nicht wie die Shifttaste weiterhin gedrückt werden.
Es gibt doch bestimmt eine Möglichkeit abzufragen ob CAPSLOCK aktiviert ist oder nicht.
Ich hab eine Frage und zwar fange ich derzeit mittels der KeyDown- und KeyPress- Events ab, ob ein falsches Zeichen eingegeben wurde oder nicht.
Es handelt sich um eine TextBox in der nur Zahlen eingegeben werden dürfen. Derzeit sieht mein Code folgendermaßen aus:
Code:
private void textBox_IP_KeyDown(object sender, KeyEventArgs e) { // Initialize the flag to false. _boolIpChar = false; // Determine whether the keystroke is a number from the top of the keyboard. if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9) { // Determine whether the keystroke is a number from the keypad. if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9) { // Determine whether the keystroke is a backspace. if (e.KeyCode != Keys.Back) { // A non-numerical keystroke was pressed. // Set the flag to true and evaluate in KeyPress event. _boolIpChar = true; } } } if (e.Shift) { _boolIpChar = true; } } private void textBox_IP_KeyPress(object sender, KeyPressEventArgs e) { // Check for the flag being set in the KeyDown event. if (_boolIpChar == true) { // Stop the character from being entered into the control since it is non-numerical. e.Handled = true; } }
Wenn ich aber die 1 in Kombination mit Shift drücke, ignoriert er die Eingabe.
Dies ist auch korrekt so.
Meine Frage ist aber nun, wie kann ich rausfinden, ob die FESTSTELLTASTE gedrückt wurde und somit bei einer Eingabe von 1 ein ! geschrieben werden würde. Weil hier muss diese ja nicht wie die Shifttaste weiterhin gedrückt werden.
Es gibt doch bestimmt eine Möglichkeit abzufragen ob CAPSLOCK aktiviert ist oder nicht.
Comment