Ich habe eine ToolStripMenuItem
, die die ShortcutKeys
Ctrl + Oemcomma (d. H. Ctrl+,
) hat. Ich möchte diese Verknüpfung in der Nähe des Elementnamens anzeigen, damit der Benutzer diese Verknüpfung sehen kann. Unglücklicherweise wird es als Ctrl+Oemcomma
und nicht als die verständlichere Ctrl+,
angezeigt.So erhalten Sie den lokalisierten Tastaturschlüsselname in VS C#
Es gibt die Eigenschaft ShortcutKeyDisplayString, die die automatisch erstellte Zeichenfolge überschreibt, so dass man sie beheben kann. Aber sobald die Anwendung in einer Sprache ausgeführt wird, die nicht den Steuerschlüssel aufruft (zB in Deutschland heißt sie Strg
), sieht dieser ShortcutKeyDisplayString falsch aus, da alle anderen automatisch erstellten Shortcut-Beschreibungen übersetzt werden (dh wenn in einem Englisch OS eine Beschreibung wird angezeigt als Ctrl+S
, in einem deutschen Betriebssystem zeigt es dann Strg+S
).
Gibt es eine Funktion, die den lokalisierten Namen eines Schlüssels zurückgibt, damit ich den ShortcutKeyDisplayString verwenden konnte? I.e. Ich suche nach einer Funktion, die Ctrl
in einem englischen OS und Strg
in einem deutschen Betriebssystem usw. zurückgibt. Ich versuchte System.Windows.Forms.Keys.Control.ToString()
, aber das gibt natürlich nur Control
zurück.