C# – Convert System.Window.Forms.Key to String
Die Keyboardeingabe mancher Programme fange ich ab, um diese dann weiterzuverarbeiten. Heute wollte ich anhand einer eingegebenen Ziffer den ausgewählten Index einer Listbox ändern. Die Konvertierung sollte also von System.Windows.Forms.Keys
nach int
erfolgen. Letztendlich kam ich dann zu dieser Lösung, mit einem Umweg über String.
System.Windows.Forms.KeysConverter _conv = new System.Windows.Forms.KeysConverter(); object _objString = _conv.ConvertTo(_key,typeof(string)); int _result = System.Convert.ToInt32(_objString)
Eine direkte Umwandlung mit ConvertTo(_key,typeof(int))
schmiss nur Exceptions. Ist das aber jetzt die beste Lösung?
Nachtrag:
Sven schrieb mir gerade, dass es auch so geht…alter Hacker 😉 :
int i = _key – 0×30; if (i >= 0 && i <= 9) { //deine tolle Funktion }
Done;
private void comboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
var i = e.KeyChar – 0x30;
if (i >= 0 && i <= 9)
{
//deine tolle funktion
}
}