先在textbox1中输入序号,检验无误后就将该序号写入listbox1中,list1中项目达到指定数后,再在TEXT2中输入相同的序号,与list1中进行比较,list1中有该号码,才能计数,否则不计数。textbox1中的计数,我是根据list1.listcount,但是text2中的就没办法计数了。
感谢各位的积极回复,现在我把问题简化一下吧。例如我要记录text2中按回车键的次数,并在text3中show出来。代码编写如下,但是计数器一直停在1的位置
Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)
Dim NUM As Integer
NUM = 0
If KeyCode = 13 Then
NUM = NUM + 1
Text3.Text = NUM
End If
End Sub
这个我有些,关键是在KEYDOWN(enter)下面 累加不起来,NUM一直等于1,关于text2 与list1中的比较我都做完了,就是当TEXT2比较完后,我需要让另外一个控件A setfcous,光标不能跳到A
是不是你累加的那个变量定义在过程里面了?如果是的话那过程结束后这个变量是会释放的,所以你下次执行的时候又变0了。把他定义到全局变量。
A.setfcous都不能让它获得焦点?你在这句代码加上断点,确定他已经执行,然后这句的下一句也加个断点,确定不是因为后面的代码影响。
你还是 补充问题 贴代码出来吧。
我测试没问题,可以计算 也可以转移焦点。
Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
For i = 0 To List1.ListCount - 1
If Text2.Text = List1.List(i) Then
num = num + 1
Text1.SetFocus
Exit Sub
End If
Next
End If
End Sub
能不能邮箱?我将程式直接发到你的邮箱,让你帮忙看看,这个帖子上面不能贴那么多!大哥贵姓?
追答987122817@qq.com
上一个回答不是告诉你了吗? num 变量不要定义在过程里面,要定义成全局变量。
而且不用赋 0 ,定义为数值型后默认就是0.非要赋 0 就到窗体加载的过程里面赋值,不要放这个过程里面。
text2 与list1中的比较我都做完了,就是当TEXT2比较完后,我需要让另外一个控件A setfcous,光标不能跳到A
希望某个控件不能获得焦点(光标)?
追问不是 而是希望TEXT2结束比较后,让控件A setfocus,但是因为KEYDOWN中的key是回车,所以光标一直在text2这里,不能跳转到控件A,其实我的空间A就是Clear,让他清除list中的内容,以便下次继续作业
追答你的控件A的名称告诉我!
追问TEXT5(以上称之为text1)代码如下:我想让他比较完后可以跳转到控件command1,让它进行Clear 的动作,但是结束后跳不出去,因为有扫描错误的机会,所以根本就不能确定扫描次数,因此只能用do while,却找不到exit do的flag,因为keydown之后不能计数!
追答要使得command1获得焦点,用下面代码,难道不行?
command1.SetFocus
vb中keydown事件下的计数器代码,我想了各种办法,都不能进行累加计数,求...
If Text2.Text = List1.List(i) Then NUM = NUM + 1 '相等就计数 Exit Sub ‘退出循环 End If Next
VB中有关KeyPress及其他的问题。高手进!
KeyPress 事件、KeyUp事件、KeyDown事件 这三个事件 楼上已经讲明了,我就不重复了。 你把下面的代码放到程序里运行试试看就知道了, Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Cls Print "你按下的键是"; Chr(KeyCode); " ASCII码为"; KeyCode End Sub Private Sub ...
VB命令按钮keydown事件的详细用法!
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)Select Case KeyCode Case KEY_W:\/\/此处写你的代码 Case KEY_D:\/\/此处写你的代码 End Select
求vb中打字母游戏代码 就像以前小霸王游戏机里的打密码游戏一样,好心...
做一个窗口,然后用int(rnd*26),随机挑出几个,放在数组里,显示在form里 创建个keydown事件,出现相同keycode,就把这个字母从数组中删掉,然后cls,把剩下的字母投上去 这是一个思路,希望我的回答对你有所帮助
求大佬解释以下vb代码,每一步的详细解释!!!
感觉应该还有很多代码没贴出来 不管是什么语言,思路都应该差不多的,就是用列表代表蛇的每个节点,定时增加头和去掉尾
vb.net 方向键不能触发 keydown 事件
所以当你的窗体添加了其它控件如按钮,checkbox等,form的keydown事件就触发不了,为使这些键引发窗体的KeyDown事件,你需要重写form.ProcessDialogKey函数,这个函数可以在消息预处理期间 处理对话字符,例如TAB、RETURN、ESCAPE和箭头键等,以下是我重写了这个事件来处理方向键,你需要把它放到你的代码里:Protected...
求一个简单代码!VB定时按键!(高手必会)
Dim a, b As Boolean '是否按下键 Dim x As Integer Private Sub Form_Load()Timer1.Interval = 100 '0.1秒一次检查全局按键 a = False: b = False End Sub Private Sub Timer1_Timer()If GetAsyncKeyState(vbKeyF1) Then '检测F1 If a = False Then MsgBox "现在开始运行程序" '可以不...
...组合键ctrl+end,要确实可行的办法,请写下详细代码
PostMessage Text1.hwnd, WM_KEYUP, VK_RETURN, 0 'Text1.SetFocus End Sub 这是在本地窗口上试验的,先在窗口上添加一个文本框和一个命令按钮,然后把上面的代码复制进去就可以了,如果是其他程序窗口中的文本框,先用findwindowex找到该文本框的句柄,替换掉上面的Text1.hwnd就行了 对于记事本...
VB代码中KeyAscii具体是怎么用的,是什么意思?
keyascii表示你按下的键的代码(AScii码)可以用以下常数表示。在VB中,注释有2种方式。1、以Rem关键字开头,并且Rem关键字与注释内容之间要加一个空格。注释可以是单独的一行,也可以写在其他语句行的后面。如果在其他语句行后使用Rem关键字,则必须使用冒号(:)与语句隔开。2、使用一个撇号(')来...
急!VB高手请进!求VB贪吃蛇代码(分由你说:只要够!)
给个100分就行了。把代码复制到空窗体中按F5运行即可。Option Explicit Private WithEvents Timer1 As Timer Private WithEvents Label1 As Label Dim GFangXiang As Boolean Dim HWB As Single Dim She() As ShenTi Dim X As Long, Y As Long Dim ZhuangTai(23, 23) As Long Private Type ...