求助各路高手指教-textbox控件组

gowine 2013-04-16 05:14:51
现有一textbox控件组,共八个,每一个都是只能输入八个字符,如何做到:当往任意两个textbox输入相同的字符串之后,弹出提示对话框,同时将后输入的textbox中的内容清空。
请高手指点迷津。感激涕零啊!
...全文
417 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gowine 2013-04-18
  • 打赏
  • 举报
回复
光是顾着结帖子,忘了答谢两位高手了。感谢1楼和4楼的两位兄台鼎力相助,小生学到东西了。
酷心 2013-04-17
  • 打赏
  • 举报
回复

Private Sub Text1_Change(Index As Integer)
  If Len(Text1(Index).Text) <> 8 Then Exit Sub
  Dim vI As Integer
  For vI = 0 To 7
    If Index <> vI And Text1(Index).Text = Text1(vI).Text Then
      MsgBox "重复"
      Text1(Index).Text = ""
      Exit For
    End If
  Next
End Sub
of123 2013-04-17
  • 打赏
  • 举报
回复
原因是其他文本框为空,而 Text1(7) 清空后与它们相同。如果不是顺序输入的话:

Private Sub Text1_Change(Index As Integer)
Dim i As Integer

    If Len(Text1(Index)) = Text1(Index).MaxLength Then
        For i = 0 To Text1.Count - 1
            If i <> Index And Text1(Index) = Text1(i) Then
                MsgBox "Repeated information"
                Text1(Index) = ""
                Exit Sub
            End If
        Next i
    End If
End Sub
gowine 2013-04-16
  • 打赏
  • 举报
回复
首先,多谢英雄赐教,不过我试运行了一下,发现有点瑕疵:我先在Text1(0)输入八位字符串,然后在Text1(7)输入相同的字符串,如愿的弹出对话框,但是要“确定”7次才能把对话框关闭,不知道能不能琢磨成一块美玉呢?
shinni987654 2013-04-16
  • 打赏
  • 举报
回复
楼上正解,还用英文耶
of123 2013-04-16
  • 打赏
  • 举报
回复

Private Sub Text1_Change(Index As Integer)
Dim i As Integer

    If Len(Text1(Index)) = 8 And Index > 0 Then
        For i = 0 To Index - 1
            If Text1(Index) = Text1(i) Then
                MsgBox "Repeated information"
                Text1(Index) = ""
            End If
        Next i
    End If
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧