问题 单项选择题

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

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

A.For k=List1.ListCount-1 To 0 Step-1

B.For k=0 To List1.ListCount

C.For k=1 To List1.ListCount-1

D.For k=1 To List1.ListCount

答案

参考答案:A

解析:【解析】在执行RemoveItem时,会改变该序号item之后的列表内容的序号,因此,循环删除应从后向前操作。

选择题
单项选择题