webdevqa.jp.net

System.Windows.Forms.Keys列挙の「OEM」キーとは何ですか?

友人は、ショートカットキーとして「Ctrl ++」をToolStripMenuItemに割り当てる方法を理解するのに苦労していました。 Keys.OemPlusキーが機能し、ショートカットの表示文字列を設定する必要があることを指摘しましたが、Keys列挙は私を不思議に思います。

これらの「OEM」キーとの取引は何ですか?少し検索してみましたが、キーはWin2k以降でしかサポートされていないためと思われますが、Win2kの数十年前にプラスキーを使用している人がいると確信しているので、それはばかげているようです。 「OemEquals」がないのはなぜですか? Keys列挙に完全に含まれていない他のキーはありますか?

私は主にこれらの特別な名前の値が存在する理由に対する答えを探していますが、他の質問についての議論を聞きたいです。キーボードの等号の上にプラス記号があるので、Keys.OemPlusを使用してShift修飾キーをチェックしても、Ctrl + =がクリックされたかどうかを確認できますか?省略された他のキーはありますか?

System.Windows.Forms.KeysSystem.Windows.Input.Keyの列挙は同じように見えますが、これはnot WPFの質問であることに注意してください(ただし、Keyはフレームワーク設計ガイドラインに従って誤った名前が付けられています;) )

21
OwenP

これらはWindowsAPIで導入されたものであり、WPFに固有のものではありません。

まず、これらは[〜#〜] key [〜#〜]コードであり、文字コードではありません。これらは、文字ではなく、キーボードのキーを識別します。 「A」文字は通常、Shiftキーを押しながらAキーを押すか、CAPSLOCKをアクティブにすることで生成されます。

OEMキーローカルキーボードによって異なりますのキーです。米国のキーボードには角かっこと中括弧がありますが、ドイツ語のキーボードには山かっこがあります。

それらは、(キーボードの)相手先ブランド供給がそれらの機能を定義する責任を負っていたため、「OEM」と呼ばれます。

28
peterchen

OEMは、「相手先ブランド供給」(またはそれに比較的近いもの)を意味します。プラットフォームに中立であることは、WPF側の試みだと思います。しかし、それは単なる意見です。

0
JaredPar