[問答題] 完成下列問題:在考生文件夾下有一個工程文件sjt4.vbp。在窗體中“待選城市”下的List1列表框中有若干城市名稱。程序運行時,選中List1中若
[問答題] 完成下列問題:
在考生文件夾下有一個工程文件sjt4.vbp。在窗體中“待選城市”下的List1列表框中有若干城市名稱。程序運行時,選中List1中若干個列表項(如圖6所示),單擊“選中”按鈕則把選中的項目移到List2中,單擊“顯示”按鈕,則在Text1文本框中顯示這些選中的城市(如圖7所示)。已經(jīng)給出了所有控件和程序,但程序不完整。
[*]
[*]
要求:在程序中的橫線處填寫正確的內(nèi)容,使其能正確運行,但不能修改程序中的其他部分和控件屬性。最后用原來的文件名保存工程文件和窗體文件。
(題目提供的源程序]
Private Sub Command1_Click()
Dim k%
For k=List1.ListCount-1 To 0 (1)
If List1.Selected(k)=True Then
List2.AddItem (2)
List1.RemoveItem (3)
End If
Next k
End Sub
Private Sub Command2_Click()
Dim k%
Text1="已經(jīng)選中的城市有:"
For k=0 To List2.ListCount-1 Step 1
Text1= (4) & "" & List2.List(k)
Next k
End Sub
正確答案:[操作步驟] 第1步:打開本題工程文件。 第2步:分析并編寫程序。 第3步:保存、調(diào)試、運行程序。 [1]step-1 [2]List1.List(k) [3]k [4]Text1或Text1.Text
參考解析:列表框控件有兩個重要的屬性——Selected屬性和List屬性,二者都是數(shù)組,從0開始編號。Selected下標與List的下標一一對應,記錄List數(shù)組中各個項目是否被選中。例如,若列表框List1中的第二個元素即List(1)被選中,則Selected(1)的值就為True;相反,若List(1)未被選中,則Selected(1)的值就為False。運行時,對Selected數(shù)組的下標從0~ListCount-1依次檢測,可以判斷出所有被選擇的項目。由于題目中要對被選的項目進行移出操作,移出一個項目后,后續(xù)項目自動前移,該項目后的其他項目的下標發(fā)生改變,對被選項目的定位就出現(xiàn)錯誤。為了解決這個問題,程序在循環(huán)時下標從ListCount-1~0進行檢測,此時For循環(huán)步長應為-1。當List1.Selected(k)值為真時,對應被選中的項目就是List1.List(k),應該把它添加到List2中,同時在List1中把下標為k的項目移去。為了在文本框中把List2中所有的項目連接起來,應該是取文本框中原有的值Text1.Text連接上List2的項目。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。