在窗体上画1个名称为List1的列表框,输入若干个项目;再画两个文本框,名称分别为Text1和Text2,如图所示。编写如下事件过程: Private Sub Form_Load() Text1.Text="" Text2.Tex

admin2016-08-24  58

问题 在窗体上画1个名称为List1的列表框,输入若干个项目;再画两个文本框,名称分别为Text1和Text2,如图所示。编写如下事件过程:

    Private Sub Form_Load()
    Text1.Text=""
    Text2.Text=""
    End Sub
    Private Sub Text1_Change()
    Dim str As String.S As String
    Dim k As Integer,n As Integer
    S=Text1.Text
    str=""
    n=List1.ListCount-1
    For k=n To 0 Step-1
    If InStr(List1.List(K),S)>0 then
    str=str&List1.List(K)
    End If
    Next k
    If str=""Then
    Text2.Text="无匹配项目"
    Else
    Text2.Text=str
    End If
    End Sub
    运行程序,在Text1中输入“海”,则在Text2中显示的内容是(    )。

选项 A、上海南海东海
B、海
C、东海南海上海
D、无匹配项目

答案A

解析 在Text1中输入“海”,则17extl_Change事件被触发,在Text1_Change事件过程中,定义了字符串变量str和s;整型变量k和m。s的初始值为Text1上输入的字符串“海”,str的初始值为空,整型变量n的初始值为List1中的元素个数,为5。然后程序进入For循环结构,通过Instr函数,判断变量s中的字符在List1列表项中是否出现,若出现则将列表框中的匹配项保留到字符串变量str中。最后通过If语句判断字符串变量str中是否有值,若有值,则在Text/中显示str中的内容,若无值,则在Text2中显示“无匹配项”。
    For循环共执行5次,循环执行情况及各变量的值如下表所示。

    所以A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/naLp777K
0

最新回复(0)