问题描述:
我用vb编写了一个程序,我希望:按向上方向键,光标定位到上一个文本框,请问如何实现?vb默认:在文本框中按方向键是光标在文本框中的文本间前后移动.而且文本框的KeyPress事件中不接受方向键(vbKeyUp),曾在搜索引擎中找到一些用api(user32.lib)的方法,太麻烦,我希望能有简单的方法.
解析:
需要使用keydown事件
Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 38 Then Text1.SetFocus
End Sub
VB有Round()函数,但是是四舍五入,你的这个需要编写一个过程或函数:
Dim AA As String '模块级变量Private Sub Command1_Click()
Dim XX As Single, YY As Single '过程级变量
XX = Val(Text1.Text)
If AA = "整数" Then
If XX / 1 - XX \ 1 >= 0 Then '判断小数部分是否小于0.5
YY = Round(XX, 0) + 1
ElseIf XX / 1 - XX \ 1 < 0 Then '判断小数部分是否大于0.5
YY = Round(XX, 0)
End If
ElseIf AA = "小数" Then
If XX / 1 - XX \ 1 >= 0 Then '判断小数部分是否小于0.5
YY = Round(XX, 1) + 0.1
ElseIf XX / 1 - XX \ 1 < 0 Then '判断小数部分是否大于0.5
YY = Round(XX, 1)
End If
End If
Text2.Text = YY
End Sub
Private Sub Form_Load()
Option1(0).Value = True
End Sub
Private Sub Option1_Click(Index As Integer)
If Option1(0).Value = True Then
AA = "整数"
Else
AA = "小数"
End If
End Sub
是点一次移动一次还是点一次就连续移动?下面是点一次移一次的:
Private Sub Command1_Click()Command1.Top = Command1.Top - Command1.Height
End Sub
如果要连续移动,就要结合Timer控件来实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)