推 chrisjon:喔喔!!感謝指導,我再試試 04/07 21:30
下拉清單的事件要使用 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