2

The three modifier keys are Control, Alt and Shift.
In the keys enumeration, there are Control and ControlKey, Shift and ShiftKey and Alt, but AltKey is missing.

Keys.ControlKey refers to the actual Ctrl key while Keys.Control refers to the control modification. Similarly,Keys.ShiftKey refers to the actual Shift key while Keys.Shift refers to the shift modification.

What about the actual Alt key?
It can be pressed by itself and the corresponding element in the Keys enumeration should be Keys.AltKey!

Can you please explain the lack of the vlaue Keys.AltKey in the Keys enumeration?

4

2 に答える 2

2

実際には、Altキーの実際のキー(修飾子ではない)の列挙値はKeys.Menu、の値になり18ます。これは単なる命名規則です。彼らは、モディファイアと非モディファイアにAltのみ名前を使用することにしました。Menu興味深いことに、のドキュメントにKeys.Menuは「ALTキー」と書かれています。ともKeys.LMenuありKeys.RMenuます。

于 2013-02-23T13:50:06.250 に答える
0

&推測では、Alt キーがないのは、WinForms 開発では、ショートカット キーを設定するために使用されるパラダイムが、文字の前に文字を付けることであるという事実によるものだと思いますE&xit。アプリケーションを実行すると、ショートカット コマンド Alt+X として自動的に設定されます。ほとんどの Windows ショートカット キーは、開発中にこのように設定されており、コードでそれを検出したい理由 (または少なくとも KeyDown イベント) をほとんど排除しています。そうは言っても、個人的には Alt キーが利用できると思っていたでしょう。

于 2013-02-23T13:38:42.190 に答える