vb textbox操作问题
dimiasintegerfori=1to16ifnumberic(me.controls.item("textbox"&i).text)thenmsgbox"提示",,...
dim i as integer
for i=1 to 16
if numberic(me.controls.item("textbox"&i).text) then
msgbox "提示",,"提示"
me.controls.item("textbox"&i).focus()
me.controls.item("textbox"&i).selectall()
exit sub
end if
next i
我写的,错误代码,我想检查textbox1到16输入的是否是数字,如否则高亮选中并提示。textbox的位置在不同容器内,附上图片,等待高手。
没人知道啊?????????????????????????????????????????????????????????????????????????????????????????????? 展开
for i=1 to 16
if numberic(me.controls.item("textbox"&i).text) then
msgbox "提示",,"提示"
me.controls.item("textbox"&i).focus()
me.controls.item("textbox"&i).selectall()
exit sub
end if
next i
我写的,错误代码,我想检查textbox1到16输入的是否是数字,如否则高亮选中并提示。textbox的位置在不同容器内,附上图片,等待高手。
没人知道啊?????????????????????????????????????????????????????????????????????????????????????????????? 展开
6个回答
展开全部
FindControl函数是类似于webform中的FindControl功能的函数,查找指定名字的控件
Private Function FindControl( _
ByVal ControlName As String, _
ByVal CurrentControl As Control _
) As Control
For Each ctr As Control In CurrentControl.Controls
If ctr.Name = ControlName Then
Return ctr
Else
ctr = FindControl(ControlName, ctr)
If Not ctr Is Nothing Then
Return ctr
End If
End If
Next ctr
End Function
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
For i As Integer = 1 To 16
Dim txt As TextBox = CType(FindControl("TextBox" & i.ToString, Me), TextBox)
If Not IsNumeric(txt.Text) Then
txt.Focus()
SendKeys.Send("{home}+{end}")
Exit For
End If
Next
End Sub
至于自动跳至所在控件容器选项卡,标签页及组的焦点切换,暂没有时间弄了。
Private Function FindControl( _
ByVal ControlName As String, _
ByVal CurrentControl As Control _
) As Control
For Each ctr As Control In CurrentControl.Controls
If ctr.Name = ControlName Then
Return ctr
Else
ctr = FindControl(ControlName, ctr)
If Not ctr Is Nothing Then
Return ctr
End If
End If
Next ctr
End Function
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
For i As Integer = 1 To 16
Dim txt As TextBox = CType(FindControl("TextBox" & i.ToString, Me), TextBox)
If Not IsNumeric(txt.Text) Then
txt.Focus()
SendKeys.Send("{home}+{end}")
Exit For
End If
Next
End Sub
至于自动跳至所在控件容器选项卡,标签页及组的焦点切换,暂没有时间弄了。
展开全部
以下是我用VB6.0调试的,结果可以达到你的要求
Dim i As Integer
For i = 1 To 2
If IsNumeric(Me.Controls.Item("text" & i).Text) Then
MsgBox "提示", , "提示"
Me.Controls.Item("text" & i).SetFocus
Me.Controls.Item("text" & i).SelStart = 0
Me.Controls.Item("text" & i).SelLength = Len(Me.Controls.Item("text" & i))
Exit Sub
End If
Next i
Dim i As Integer
For i = 1 To 2
If IsNumeric(Me.Controls.Item("text" & i).Text) Then
MsgBox "提示", , "提示"
Me.Controls.Item("text" & i).SetFocus
Me.Controls.Item("text" & i).SelStart = 0
Me.Controls.Item("text" & i).SelLength = Len(Me.Controls.Item("text" & i))
Exit Sub
End If
Next i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if numberic(me.controls.item("textbox"&i).text) then
这行应该是
if isnumberic(me.controls.item("textbox"&i).text) then
这行应该是
if isnumberic(me.controls.item("textbox"&i).text) then
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将if numberic(me.controls.item("textbox"&i).text) then
改为:if not isnumberic(me.controls.item("textbox"&i).text) then
改为:if not isnumberic(me.controls.item("textbox"&i).text) then
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
真不懂,爱莫能助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
于是提示你的代码错在哪,错误信息时什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询