窗体如图l所示。要求程序运行时,在文本框Textl中输入一个姓氏,单击“删除”按钮(名称为Corn-mandl),则可删除列表框Listl中所有该姓氏的项目。若编写以下程序来实现此功能: Private Sub Command l_Click()

admin2020-07-22  25

问题 窗体如图l所示。要求程序运行时,在文本框Textl中输入一个姓氏,单击“删除”按钮(名称为Corn-mandl),则可删除列表框Listl中所有该姓氏的项目。若编写以下程序来实现此功能:

    Private Sub Command l_Click()
        Dim n%.k%
        n=Len(Textl.Text)
        For k=0 To Listl.ListCount-l
            If Left(Listl.List(k),n)=Textl.Text Then
                 List 1.Removeltem k
            End If
         Next k
    End Sub
    在调试时发现,如输入“陈”,可以正确删除所有姓“陈”的项目,但输入“刘”,则只删除了“刘邦”、“刘备”2项,结果如图2所示。这说明程序不能适应所有情况,需要修改。正确的修改方案是把For k=0To Listl.ListCount-1改为(     )。

选项 A、For k=Listl.ListCount-l To 0 Step-1
B、For k=0 To Listl.ListCount
C、Fok=l To Listl.ListCount-1
D、For k=1 To Listl.ListCount

答案A

解析 错误原因:每一次删除列表框满足项,列表框的项目数目就会相应地减少,所以就出现了漏删内容,如果把循环变量k改成从Listl.ListCout-l到0,从最后一个项目往第一个项目查找,满足条件就删除该项目,从而不会出现遗漏现象,所以正确答案为A。
转载请注明原文地址:https://jikaoti.com/ti/8KS0FFFM
0

最新回复(0)