题目如下:本来是这样想的
在任何情况下,按回车键都相当于单击“是”按钮;按ESC键都相当于单击“否”按钮。
我已经将按钮“是”的Default 属性设为true,Cancel属性设为False
按钮“否”属性设为相反,并分别对是和否的按钮写了下列语句:
Private Sub Command1_Click()
Command1.SetFocus
End Sub
Private Sub Command2_Click()
Command2.SetFocus
End Sub
但运行结果是按Esc键可以实现按到“否”上,按回车键却啥反应都没有后来我用了这样的方法,键盘实现了,但鼠标点到“是”上,却会自动跑到“否”上,如何才能完美实现题目要求啊!
“是”的按钮选Cancel True Default False
反的按钮相反,然后编程语句是搞花来着
Private Sub Command1_Click()
Command2.SetFocus
End Sub
Private Sub Command2_Click()
Command1.SetFocus
End Sub

解决方案 »

  1.   

    我现在没VB,不过记得窗口有个参数是优先截取键盘消息的,你找找。把它设为true,然后在窗口的keypress里
    if press enter call command1_click
    elseif press esc call command2_click
      

  2.   

    把form的keypreview设置成true,这样窗体可以捕获到键盘值,然后在
    Private Sub Form_KeyPress(KeyAscii As Integer)
      '//根据keyascii值判断按enter还是esc,确定调用那个commandx_click()
    End Sub
      

  3.   

    Private Sub Command1_Click()
    MsgBox "是"
    End SubPrivate Sub Command2_Click()
        MsgBox "否"
    End SubPrivate Sub Form_Load()
        Command1.Default = True
        Command2.Cancel = True
    End Sub上述代码OK