看板 Visual_Basic 關於我們 聯絡資訊
下拉清單的事件要使用 Click   Change 事件是在使用在下拉清單輸入文字的時候才會觸發   Click 事件是 ListIndex 變更的時候觸發(包含使用者按下滑鼠選擇項目)   另外 1. 宣告變數,一定要每個變數都指定型態 Dim i As Byte, j As Byte (而且j沒有使用到,可以拿掉) 2. 不需要逐一移除下拉清單的項目,直接呼叫Clear即可 3. 迴圈可寫成 For ia = 0 To UBound(a) 4. 命名規則,以控制項的簡稱為字首,例如下拉清單可命名為 cboNumber... ※ 引述《chrisjon (旅遊/移動)》之銘言: : 因為太久沒寫程式,最近臨時興起想寫一點簡單的程式 : 然後…上馬就遇到問題了XD : 下拉1 name:form1 : 下拉2 name:number : 我現在想做的是 : 下拉1 listindex=0時下拉2出現a組 : 下拉1 listindex=1時下拉2出現b組 : 只是我不管怎麼寫,下拉2都不會變動 : Private Sub Form_Load() : Dim a(1) As String : Dim b1(2) As String : Dim b2(1) As String : Dim ia As Byte : '規格 : a(0) = "40'" : a(1) = "20'" : For ia = 0 To 1 : form1.AddItem a(ia) : Next : form1.ListIndex = 0 : '編號1 : b1(0) = "01" : b1(1) = "02" : b1(2) = "03" : '編號2 : b2(0) = "21" : b2(1) = "22" : End Sub : ** : Private Sub form1_change() : Dim i, j As Byte : Select Case form1.ListIndex : Case Is = 0 : For i = 0 To 4 : number.RemoveItem b2(i) : Next : For i = 0 To 8 : number.AddItem b1(i) : Next : Case Is = 1 : For i = 0 To 8 : number.RemoveItem b1(i) : Next : For i = 0 To 4 : number.AddItem b2(i) : Next : End Select : End Sub : ** : 照理來講,當下拉1改變時,應該就會觸發第二組sub : 然後根據form1.ListIndex的數值不同,改變下拉2裡面的選項 : 可是不管我怎麼變動下拉1,下拉2就是不會動 : 是我哪裡想錯了嗎? : 感謝指正 -- ▃▅▇▆▄ ▆▂▃ ` 逝去感如何能留住,半點遺留殊不易,██▅▇▄▃ ▇▃▂" . █████████▃i ▁▄▇ 更多悽悽慘慘的遭遇………██▆▃ █▅▆▃ˍ▄* ▂█▄▇▅▂. 我不知道,王~八~蛋~~! ▂▆███ █▄▃ 。fumizuki。Check。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.176.149.188
chrisjon:喔喔!!感謝指導,我再試試 04/07 21:30