请单击以进行评分并提供反馈
MSDN
MSDN Library
.NET 开发
先前版本
 Keys 枚举

  开启低带宽视图
此页面仅适用于
Microsoft Visual Studio 2005/.NET Framework 2.0

同时提供下列产品的其他版本:
.NET Framework 类库
Keys 枚举

指定键代码和修饰符。

此枚举有一个 FlagsAttribute 属性,允许其成员值按位组合。

命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

Visual Basic(声明)
<ComVisibleAttribute(True)> _
<FlagsAttribute> _
Public Enumeration Keys
Visual Basic(用法)
Dim instance As Keys
C#
[ComVisibleAttribute(true)] 
[FlagsAttribute] 
public enum Keys
C++
[ComVisibleAttribute(true)] 
[FlagsAttribute] 
public enum class Keys
J#
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute FlagsAttribute() */ 
public enum Keys
JScript
ComVisibleAttribute(true) 
FlagsAttribute 
public enum Keys
 成员名称说明
由 .NET Compact Framework 支持AA 键。 
由 .NET Compact Framework 支持Add加号键。 
由 .NET Compact Framework 支持AltAlt 修改键。 
由 .NET Compact Framework 支持Apps应用程序键(Microsoft Natural Keyboard,人体工程学键盘)。 
由 .NET Compact Framework 支持AttnAttn 键。 
由 .NET Compact Framework 支持BB 键。 
由 .NET Compact Framework 支持BackBackspace 键。 
BrowserBack浏览器后退键(Windows 2000 或更高版本)。 
BrowserFavorites浏览器收藏夹键(Windows 2000 或更高版本)。 
BrowserForward浏览器前进键(Windows 2000 或更高版本)。 
BrowserHome浏览器主页键(Windows 2000 或更高版本)。 
BrowserRefresh浏览器刷新键(Windows 2000 或更高版本)。 
BrowserSearch浏览器搜索键(Windows 2000 或更高版本)。 
BrowserStop浏览器停止键(Windows 2000 或更高版本)。 
由 .NET Compact Framework 支持CC 键。 
由 .NET Compact Framework 支持CancelCancel 键。 
由 .NET Compact Framework 支持CapitalCaps Lock 键。 
由 .NET Compact Framework 支持CapsLockCaps Lock 键。 
由 .NET Compact Framework 支持ClearClear 键。 
由 .NET Compact Framework 支持ControlCtrl 修改键。 
由 .NET Compact Framework 支持ControlKeyCtrl 键。 
由 .NET Compact Framework 支持CrselCrsel 键。 
由 .NET Compact Framework 支持DD 键。 
由 .NET Compact Framework 支持D00 键。 
由 .NET Compact Framework 支持D11 键。 
由 .NET Compact Framework 支持D22 键。 
由 .NET Compact Framework 支持D33 键。 
由 .NET Compact Framework 支持D44 键。 
由 .NET Compact Framework 支持D55 键。 
由 .NET Compact Framework 支持D66 键。 
由 .NET Compact Framework 支持D77 键。 
由 .NET Compact Framework 支持D88 键。 
由 .NET Compact Framework 支持D99 键。 
由 .NET Compact Framework 支持Decimal句点键。 
由 .NET Compact Framework 支持DeleteDeL 键。 
由 .NET Compact Framework 支持Divide除号键。 
由 .NET Compact Framework 支持Down向下键。 
由 .NET Compact Framework 支持EE 键。 
由 .NET Compact Framework 支持EndEnd 键。 
由 .NET Compact Framework 支持EnterEnter 键。 
由 .NET Compact Framework 支持EraseEofERASE EOF 键。 
由 .NET Compact Framework 支持EscapeEsc 键。 
由 .NET Compact Framework 支持ExecuteEXECUTE 键。 
由 .NET Compact Framework 支持ExselExsel 键。 
由 .NET Compact Framework 支持FF 键。 
由 .NET Compact Framework 支持F1F1 键。 
由 .NET Compact Framework 支持F10F10 键。 
由 .NET Compact Framework 支持F11F11 键。 
由 .NET Compact Framework 支持F12F12 键。 
由 .NET Compact Framework 支持F13F13 键。 
由 .NET Compact Framework 支持F14F14 键。 
由 .NET Compact Framework 支持F15F15 键。 
由 .NET Compact Framework 支持F16F16 键。 
由 .NET Compact Framework 支持F17F17 键。 
由 .NET Compact Framework 支持F18F18 键。 
由 .NET Compact Framework 支持F19F19 键。 
由 .NET Compact Framework 支持F2F2 键。 
由 .NET Compact Framework 支持F20F20 键。 
由 .NET Compact Framework 支持F21F21 键。 
由 .NET Compact Framework 支持F22F22 键。 
由 .NET Compact Framework 支持F23F23 键。 
由 .NET Compact Framework 支持F24F24 键。 
由 .NET Compact Framework 支持F3F3 键。 
由 .NET Compact Framework 支持F4F4 键。 
由 .NET Compact Framework 支持F5F5 键。 
由 .NET Compact Framework 支持F6F6 键。 
由 .NET Compact Framework 支持F7F7 键。 
由 .NET Compact Framework 支持F8F8 键。 
由 .NET Compact Framework 支持F9F9 键。 
FinalModeIME 最终模式键。 
由 .NET Compact Framework 支持GG 键。 
由 .NET Compact Framework 支持HH 键。 
HanguelModeIME Hanguel 模式键。(为了保持兼容性而设置;使用 HangulMode)  
HangulModeIME Hangul 模式键。 
HanjaModeIME Hanja 模式键。 
由 .NET Compact Framework 支持HelpHelp 键。 
由 .NET Compact Framework 支持HomeHome 键。 
由 .NET Compact Framework 支持II 键。 
IMEAcceptIME 接受键,替换 IMEAceept。 
IMEAceeptIME 接受键。已过时,请改用 IMEAccept。 
IMEConvertIME 转换键。 
IMEModeChangeIME 模式更改键。 
IMENonconvertIME 非转换键。 
由 .NET Compact Framework 支持InsertIns 键。 
由 .NET Compact Framework 支持JJ 键。 
JunjaModeIME Junja 模式键。 
由 .NET Compact Framework 支持KK 键。 
KanaModeIME Kana 模式键。 
KanjiModeIME Kanji 模式键。 
由 .NET Compact Framework 支持KeyCode从键值提取键代码的位屏蔽。 
由 .NET Compact Framework 支持LL 键。 
LaunchApplication1启动应用程序一键(Windows 2000 或更高版本)。 
LaunchApplication2启动应用程序二键(Windows 2000 或更高版本)。 
LaunchMail启动邮件键(Windows 2000 或更高版本)。 
由 .NET Compact Framework 支持LButton鼠标左按钮。 
由 .NET Compact Framework 支持LControlKey左 Ctrl 键。 
由 .NET Compact Framework 支持Left向左键。 
由 .NET Compact Framework 支持LineFeedLINEFEED 键。 
由 .NET Compact Framework 支持LMenu左 Alt 键。 
由 .NET Compact Framework 支持LShiftKey左 Shift 键。 
由 .NET Compact Framework 支持LWin左 Windows 徽标键(Microsoft Natural Keyboard,人体工程学键盘)。 
由 .NET Compact Framework 支持MM 键。 
由 .NET Compact Framework 支持MButton鼠标中按钮(三个按钮的鼠标)。 
MediaNextTrack媒体下一曲目键(Windows 2000 或更高版本)。 
MediaPlayPause媒体播放暂停键(Windows 2000 或更高版本)。 
MediaPreviousTrack媒体上一曲目键(Windows 2000 或更高版本)。 
MediaStop媒体停止键(Windows 2000 或更高版本)。 
由 .NET Compact Framework 支持MenuAlt 键。 
由 .NET Compact Framework 支持Modifiers从键值提取修饰符的位屏蔽。 
由 .NET Compact Framework 支持Multiply乘号键。 
由 .NET Compact Framework 支持NN 键。 
由 .NET Compact Framework 支持NextPage Down 键。 
由 .NET Compact Framework 支持NoName保留以备将来使用的常数。 
由 .NET Compact Framework 支持None没有按任何键。 
由 .NET Compact Framework 支持NumLockNum Lock 键。 
由 .NET Compact Framework 支持NumPad0数字键盘上的 0 键。 
由 .NET Compact Framework 支持NumPad1数字键盘上的 1 键。 
由 .NET Compact Framework 支持NumPad2数字键盘上的 2 键。 
由 .NET Compact Framework 支持NumPad3数字键盘上的 3 键。 
由 .NET Compact Framework 支持NumPad4数字键盘上的 4 键。 
由 .NET Compact Framework 支持NumPad5数字键盘上的 5 键。 
由 .NET Compact Framework 支持NumPad6数字键盘上的 6 键。 
由 .NET Compact Framework 支持NumPad7数字键盘上的 7 键。 
由 .NET Compact Framework 支持NumPad8数字键盘上的 8 键。 
由 .NET Compact Framework 支持NumPad9数字键盘上的 9 键。 
由 .NET Compact Framework 支持OO 键。 
Oem1OEM 1 键。 
Oem102OEM 102 键。 
Oem2OEM 2 键。 
Oem3OEM 3 键。 
Oem4OEM 4 键。 
Oem5OEM 5 键。 
Oem6OEM 6 键。 
Oem7OEM 7 键。 
Oem8OEM 8 键。 
OemBackslashRT 102 键的键盘上的 OEM 尖括号或反斜杠键(Windows 2000 或更高版本)。 
由 .NET Compact Framework 支持OemClearClear 键。 
OemCloseBrackets美式标准键盘上的 OEM 右括号键(Windows 2000 或更高版本)。 
Oemcomma任何国家/地区键盘上的 OEM 逗号键(Windows 2000 或更高版本)。 
OemMinus任何国家/地区键盘上的 OEM 减号键(Windows 2000 或更高版本)。 
OemOpenBrackets美式标准键盘上的 OEM 左括号键(Windows 2000 或更高版本)。 
OemPeriod任何国家/地区键盘上的 OEM 句点键(Windows 2000 或更高版本)。 
OemPipe美式标准键盘上的 OEM 管道键(Windows 2000 或更高版本)。 
Oemplus任何国家/地区键盘上的 OEM 加号键(Windows 2000 或更高版本)。 
OemQuestion美式标准键盘上的 OEM 问号键(Windows 2000 或更高版本)。 
OemQuotes美式标准键盘上的 OEM 单/双引号键(Windows 2000 或更高版本)。 
OemSemicolon美式标准键盘上的 OEM 分号键(Windows 2000 或更高版本)。 
Oemtilde美式标准键盘上的 OEM 波形符键(Windows 2000 或更高版本)。 
由 .NET Compact Framework 支持PP 键。 
由 .NET Compact Framework 支持Pa1PA1 键。 
Packet用于将 Unicode 字符当作键击传递。Packet 键值是用于非键盘输入法的 32 位虚拟键值的低位字。 
由 .NET Compact Framework 支持PageDownPage Down 键。 
由 .NET Compact Framework 支持PageUpPage Up 键。 
由 .NET Compact Framework 支持PausePause 键。 
由 .NET Compact Framework 支持PlayPlay 键。 
由 .NET Compact Framework 支持PrintPrint 键。 
由 .NET Compact Framework 支持PrintScreenPrint Screen 键。 
由 .NET Compact Framework 支持PriorPage Up 键。 
由 .NET Compact Framework 支持ProcessKeyProcess Key 键。 
由 .NET Compact Framework 支持QQ 键。 
由 .NET Compact Framework 支持RR 键。 
由 .NET Compact Framework 支持RButton鼠标右按钮。 
由 .NET Compact Framework 支持RControlKey右 Ctrl 键。 
由 .NET Compact Framework 支持ReturnReturn 键。 
由 .NET Compact Framework 支持Right向右键。 
由 .NET Compact Framework 支持RMenu右 Alt 键。 
由 .NET Compact Framework 支持RShiftKey右 Shift 键。 
由 .NET Compact Framework 支持RWin右 Windows 徽标键(Microsoft Natural Keyboard,人体工程学键盘)。 
由 .NET Compact Framework 支持SS 键。 
由 .NET Compact Framework 支持ScrollScroll Lock 键。 
由 .NET Compact Framework 支持SelectSelect 键。 
SelectMedia选择媒体键(Windows 2000 或更高版本)。 
由 .NET Compact Framework 支持Separator分隔符键。 
由 .NET Compact Framework 支持ShiftShift 修改键。 
由 .NET Compact Framework 支持ShiftKeyShift 键。 
Sleep计算机睡眠键。 
由 .NET Compact Framework 支持SnapshotPrint Screen 键。 
由 .NET Compact Framework 支持Space空格键。 
由 .NET Compact Framework 支持Subtract减号键。 
由 .NET Compact Framework 支持TT 键。 
由 .NET Compact Framework 支持TabTab 键。 
由 .NET Compact Framework 支持UU 键。 
由 .NET Compact Framework 支持Up向上键。 
由 .NET Compact Framework 支持VV 键。 
VolumeDown减小音量键(Windows 2000 或更高版本)。 
VolumeMute静音键(Windows 2000 或更高版本)。 
VolumeUp增大音量键(Windows 2000 或更高版本)。 
由 .NET Compact Framework 支持WW 键。 
由 .NET Compact Framework 支持XX 键。 
由 .NET Compact Framework 支持XButton1第一个 X 鼠标按钮(五个按钮的鼠标)。 
由 .NET Compact Framework 支持XButton2第二个 X 鼠标按钮(五个按钮的鼠标)。 
由 .NET Compact Framework 支持YY 键。 
由 .NET Compact Framework 支持ZZ 键。 
由 .NET Compact Framework 支持ZoomZoom 键。 

Keys 类包含用于处理键盘输入的常数。键枚举的成员由一个键代码和一组修饰符构成(键代码和修饰符组成一个整数值)。在 Win32 应用程序编程接口 (API) 中,一个键值分为两部分:包含键代码(该代码与 Windows 虚拟键代码相同)的高序位和表示键修饰符(例如,Shift、Ctrl 和 Alt 键)的低序位。

Note注意

此枚举未提供方法来测试 Caps Lock 或 Num Lock 键当前是否已激活。可以使用下列技术之一来确定这些键是否已激活:

下表针对常规原始设备制造商 (OEM) 键以及更具体的美式键盘关联列出了由两个枚举的值表示的键代码值。

十六进制数值

美式键盘

常规 OEM

BA

OemSemicolon

Oem1

BF

OemQuestion

Oem2

C0

Oemtilde

Oem3

DB

OemOpenBrackets

Oem4

DC

OemPipe

Oem5

DD

OemCloseBrackets

Oem6

DE

OemQuotes

Oem7

E2

OemBackslash

Oem102

Caution note警告

.NET Framework 2.0 中添加了一个 IMEAccept 成员,可取代以前有拼写错误的 IMEAceept 项。为了向后兼容性而保留了旧版本,但在 .NET Framework 以后的版本中可能会将其删除。

Visual Basic
    ' Boolean flag used to determine when a character other than a number is entered.
    Private nonNumberEntered As Boolean = False
   
   
    ' Handle the KeyDown event to determine the type of character entered into the control.
    Private Sub textBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) _
         Handles textBox1.KeyDown
        ' Initialize the flag to false.
        nonNumberEntered = False
      
        ' Determine whether the keystroke is a number from the top of the keyboard.
        If e.KeyCode < Keys.D0 OrElse e.KeyCode > Keys.D9 Then
            ' Determine whether the keystroke is a number from the keypad.
            If e.KeyCode < Keys.NumPad0 OrElse e.KeyCode > Keys.NumPad9 Then
                ' Determine whether the keystroke is a backspace.
                If e.KeyCode <> Keys.Back Then
                    ' A non-numerical keystroke was pressed. 
                    ' Set the flag to true and evaluate in KeyPress event.
                    nonNumberEntered = True
                End If
            End If
        End If
    End Sub 'textBox1_KeyDown
   
   
    ' This event occurs after the KeyDown event and can be used 
    ' to prevent characters from entering the control.
    Private Sub textBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) _
        Handles textBox1.KeyPress
        ' Check for the flag being set in the KeyDown event.
        If nonNumberEntered = True Then
            ' Stop the character from being entered into the control since it is non-numerical.
            e.Handled = True
        End If
    End Sub 'textBox1_KeyPress
End Class 'Form1 
C#
// Boolean flag used to determine when a character other than a number is entered.
private bool nonNumberEntered = false;

// Handle the KeyDown event to determine the type of character entered into the control.
private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
    // Initialize the flag to false.
    nonNumberEntered = false;

    // Determine whether the keystroke is a number from the top of the keyboard.
    if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
    {
        // Determine whether the keystroke is a number from the keypad.
        if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)
        {
            // Determine whether the keystroke is a backspace.
            if(e.KeyCode != Keys.Back)
            {
                // A non-numerical keystroke was pressed.
                // Set the flag to true and evaluate in KeyPress event.
                nonNumberEntered = true;
            }
        }
    }
}

// This event occurs after the KeyDown event and can be used to prevent
// characters from entering the control.
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
    // Check for the flag being set in the KeyDown event.
    if (nonNumberEntered == true)
    {
        // Stop the character from being entered into the control since it is non-numerical.
        e.Handled = true;
    }
}

C++
   // Boolean flag used to determine when a character other than a number is entered.
private:
   bool nonNumberEntered;

   // Handle the KeyDown event to determine the type of character entered into the control.
   void textBox1_KeyDown( Object^ /*sender*/, System::Windows::Forms::KeyEventArgs^ e )
   {
      // Initialize the flag to false.
      nonNumberEntered = false;

      // Determine whether the keystroke is a number from the top of the keyboard.
      if ( e->KeyCode < Keys::D0 || e->KeyCode > Keys::D9 )
      {
         // Determine whether the keystroke is a number from the keypad.
         if ( e->KeyCode < Keys::NumPad0 || e->KeyCode > Keys::NumPad9 )
         {
            // Determine whether the keystroke is a backspace.
            if ( e->KeyCode != Keys::Back )
            {
               // A non-numerical keystroke was pressed.
               // Set the flag to true and evaluate in KeyPress event.
               nonNumberEntered = true;
            }
         }
      }
   }

   // This event occurs after the KeyDown event and can be used to prevent
   // characters from entering the control.
   void textBox1_KeyPress( Object^ /*sender*/, System::Windows::Forms::KeyPressEventArgs^ e )
   {
      // Check for the flag being set in the KeyDown event.
      if ( nonNumberEntered == true )
      {         // Stop the character from being entered into the control since it is non-numerical.
         e->Handled = true;
      }
   }
J#
// Boolean flag used to determine when a character other than a number 
// is entered.
private boolean nonNumberEntered = false;

// Handle the KeyDown event to determine the type of character entered 
// into the control.
private void textBox1_KeyDown(Object sender, 
    System.Windows.Forms.KeyEventArgs e)
{
    // Initialize the flag to false.
    nonNumberEntered = false;

    // Determine whether the keystroke is a number from the top of the 
    // keyboard.
    if ((e.get_KeyCode().CompareTo(Keys.D0)) < 0 
        || (e.get_KeyCode().CompareTo(Keys.D9) > 0)) {

        // Determine whether the keystroke is a number from the keypad.
        if ((e.get_KeyCode().CompareTo(Keys.NumPad0) < 0 
            || (e.get_KeyCode().CompareTo(Keys.NumPad9)) > 0)) {

            // Determine whether the keystroke is a backspace.
            if (!(e.get_KeyCode().Equals(Keys.Back))) {
                    // A non-numerical keystroke was pressed.
                    // Set the flag to true and evaluate in KeyPress event.
                    nonNumberEntered = true;
            }
        }
    }
} //textBox1_KeyDown

// This event occurs after the KeyDown event and can be used to prevent
// characters from entering the control.
private void textBox1_KeyPress(Object sender, System.Windows.Forms.
    KeyPressEventArgs e)
{
    // Check for the flag being set in the KeyDown event.
    if (nonNumberEntered == true) {
        // Stop the character from being entered into the control since 
        // it is non-numerical.
        e.set_Handled(true);
    }
} //textBox1_KeyPress

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0
社区内容   什么是社区内容?
添加新内容 RSS  批注
Processing
© 2009 Microsoft Corporation 版权所有。 保留所有权利  |  商标  |  隐私权声明
Page view tracker