在一个FORM中,有LISTBOX 和TEXT,如果我在LISTBOX中判断键盘按下的是字母或者数字后,立即TEXT就SETFOCUS,程序如下:
Private Sub Form_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
    Case 48 To 57, 65 To 90, 97 To 122
        Tex1.SetFocus
End Select
End Sub
虽然在TEXT中已完成SETFOUCS的动作,但我在LISTBOX中按下的字母或者数字不能立即显示在TEXT中,即我需要的效果是:当我在LISTBOX中按下某一个字母或者数字时,例如按下“F”,现在的程序效果是TEXT就SETFOCUS,但我想要在TEXt1中SETFOCUS,并且内容应该显示为“F“,如何办呀?

解决方案 »

  1.   

    在 Tex1.SetFocus 的后面加上一句.....
        Text1.Text = Text1.Text & Chr(KeyAscii)
      

  2.   

    过程也要写在LISTBOX控件的KeyPress事件里或者,干脆用计时器。
      

  3.   

    Private Sub Form_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
        Case 48 To 57, 65 To 90, 97 To 122
            Tex1.SetFocus 
            Tex1.text=chr(keyaxcii)End Select
    End Sub
      

  4.   

    无论是Text1.Text = Text1.Text & Chr(KeyAscii)或者Tex1.text=chr(keyaxcii)都不行,这样我在TEXT中正常输入的时候,那TEXT的内容就会出现两次,这样不行!!
      

  5.   

    写在listview的keypress事件里
    Private Sub ListView1_KeyPress(KeyAscii As Integer)
        Select Case KeyAscii
            Case 48 To 57, 65 To 90, 97 To 122
                Text1.Text = Text1.Text & Chr(KeyAscii)
                Text1.SetFocus
                SendKeys "{end}"
        End Select
    End Sub