Wie Sie feststellen, ob eine Taste einen Buchstaben oder eine Zahl?

KeyboardState.GetPressedKeys() gibt eine Key array der aktuell gedrückten Tasten. Normalerweise, um herauszufinden, ob eine Taste einen Buchstaben oder eine Zahl, die ich benutzen würde Char.IsLetterOrDigit(char) aber die vorliegende Art ist der Keys enumeration und als Ergebnis hat keine KeyChar Eigenschaft.

Casting funktioniert entweder nicht, weil, zum Beispiel, der Schlüssel wie Keys.F5, wenn die gegossenen Buchstaben werden die Buchstaben t. In diesem Fall F5 würde dann sehen, wie ein Buchstabe oder eine Ziffer, wenn klar ist es nicht.

So, wie könnte man feststellen, ob eine gegebene Keys enumeration value ist ein Buchstabe oder eine Ziffer, gegeben, dass das casting zu einem Charakter gibt unvorhersehbare Ergebnisse?

  • Sie möchten die F5-Taste markiert werden als eine Zahl oder ein Buchstabe?
  • Schauen Sie hier, stackoverflow.com/questions/5718541/...
  • Nein. Das problem ist, dass wenn Keys.F5 angeheuert, um ein Zeichen es wird t. Keys.F5 scheitern soll, ist die Buchstaben oder eine Zahl zu testen.
  • Diesem thread aus der MSDN XNA-Foren, die weiterhelfen können.
  • sind Sie interessiert an Buchstaben, die würde eingegeben werden, wenn die Taste gedrückt wird, oder immer nur englische Buchstaben entsprechen direkt Keys? Wenn ehemalige Kamil link bietet einen guten Ansatz.
  • Ein Schlüssel ist ein Schlüssel, und nicht eine Zahl oder einen Buchstaben. Es gibt keine einfache Zuordnung zwischen Tasten und Zeichen.

InformationsquelleAutor Ryan Peschel | 2012-02-26
Schreibe einen Kommentar