我想在窗体上按Esc就退出(end) 怎么做?

解决方案 »

  1.   

    Private Sub Form_KeyPress(KeyAscii As Integer)
     If KeyAscii = 27 Then
      Unload Me
      End
     End If
    End Sub
      

  2.   

    你写的没错,但要将窗体设计器属性 KeyPreView设为true,你的语句才起作用
      

  3.   

    KeyAscii 代表按下键的ASCII值,来一句 msgbox KeyAscii 就可以查处某个键的对应值了,Esc键是27
      

  4.   

    Keypress事件,响应的是你按键之前的事件!它有别于KeyDown事件!KeyAscii指的是你所按的键的ASCII值!帮助文件中有对应键位的ASCII值!你也可以用Msgbox方法获得!
      

  5.   

    Private Sub Form_KeyPress(KeyAscii As Integer)
       If KeyAscii = 27 Then
          Unload Me
       Else
       End If
    End SubKeyPress 事件
          keypress事件当用户按下和松开一个 ANSI 键时发生。语法Private Sub Form_KeyPress(keyascii As Integer)Private Sub object_KeyPress([index As Integer,]keyascii As Integer)KeyPress 事件语法包含下列部分:部分 描述 
    object 一个对象表达式,其值是“应用于”列表中的一个对象。 
    index 一个整数,它用来唯一标识一个在控件数组中的控件。 
    keyascii 是返回一个标准数字 ANSI 键代码的整数。Keyascii 通过引用传递,对它进行改变可给对象发送一个不同的字符。将 keyascii 改变为 0 时可取消击键,这样一来对象便接收不到字符。 
    说明具有焦点的对象接收该事件。一个窗体仅在它没有可视和有效的控件或 KeyPreview 属性被设置为 True 时才能接收该事件。一个 KeyPress 事件可以引用任何可打印的键盘字符,一个来自标准字母表的字符或少数几个特殊字符之一的字符与 CTRL 键的组合,以及 ENTER 或 BACKSPACE 键。KeyPress 事件过程在截取 TextBox 或 ComboBox 控件所输入的击键时是非常有用的。它可立即测试击键的有效性或在字符输入时对其进行格式处理。改变 keyascii 参数的值会改变所显示的字符。可使用下列表达式将 keyascii 参数转变为一个字符:Chr(KeyAscii)然后执行字符串操作,并将该字符反译成一个控件可通过该表达式解释的 ANSI 数字:KeyAscii = Asc(char)应当使用 KeyDown 和 KeyUP 事件过程来处理任何不被 KeyPress 识别的击键,诸如:功能键、编辑键、定位键以及任何这些键和键盘换档键的组合等。与 KeyDown 和 KeyUp 事件不同的是,KeyPress 不显示键盘的物理状态,而只是传递一个字符。KeyPress 将每个字符的大、小写形式作为不同的键代码解释,即作为两种不同的字符。而 KeyDown 和 KeyUp 用两种参数解释每个字符的大写形式和小写形式:keycode — 显示物理的键(将 A 和 a 作为同一个键返回)和 shift —指示 shift + key 键的状态而且返回 A 或 a 其中之一。如果 KeyPreview 属性被设置为 True,窗体将先于该窗体上的控件接收此事件。可用 KeyPreview 属性来创建全局键盘处理例程。注意...CTRL+@ 的键盘组合的 ANSI 编号是 0。因为 Visual Basic 将一个零值的 keyascii 识别为一个长度为零的字符串 (""),在应用程序中应避免使用 CTRL+@ 的组合。
      

  6.   

    建议你装个msdn,msdn上写得比较详细
      

  7.   

    我在MSDN上找过才来这里的,上面没有啊!!