应用题 2. 在考生文件夹下有一个工程文件sjt4.vhp。在其窗体中“待选城市”下的List1列表框中有若干个城市名称。程序运行时,选中List1中若干个列表项(如图1所示),单击“选中”按钮则把选中的项目移到List2中,单击“显示”,则在Text1文本框中显示这些选中的城市(如图2所示)。已经给出了所有控件和程序,但程序不完整。
    要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后用原来的文件名保存工程文件和窗体文件。
   
【正确答案】【操作步骤】
   步骤1:打开本题工程文件。
   步骤2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。
   参考答案(字体加粗部分是需考生填入的内容)
   Private Sub Command1_Click()
   Dim k%
   For k=List1.ListCount-1 To 0 Step-1
   'k从最大到0,则步长应为-1
   If List1.Selected(k)  =True Then
   List2.AddItem List1.List(k) '添加项到List2中
   List1.RemoveItem k
   '通过下标删除List1中的项目
   End If
   Next k
   End Sub
   Private Sub Command2_Click()
   Dim k%
   Text1="已经选中的城市有:"
   For k=0 To List2.ListCount-1 Step 1
   Text1=Text1.Text&""&List2.List(k)
   '将List2中的项目连接在Text1中的内容之后
   Next k
   End Sub
   步骤3:调试并运行程序,关闭程序后按题目要求存盘。
   【易错提示】循环下限大于循环上限,因此循环语句步长Step为-1。
   
【答案解析】[考点] 本题考点有:列表框的ListCount、Selected和List属性,“&”连接符,列表框的AddItem和RemoveItem方法,For循环语句以及If判断语句。
Selected属性是一个与List数组中的各个元素相对应的一维数组,记录List数组中每个项目是否被选取。例如,如果List(1)被选取,则Selected(1)的值为True,如果List(1)未被选取,则Selected(1)的值为False。List属性是一个一维数组,数组中元素的值就是在执行时看到的列表项。设计时可以在属性窗口中通过List属性来建立列表项,运行时对List数组从0到ListCount-1依次取值,可以获得列表的所有项目。通过对Selected属性返回值的判断,可以得知列表项是否被选中,从而进行删除和添加操作。