作者fumizuki (蒙面加菲狮)
看板Visual_Basic
标题Re: [VB6 ] 下拉式清单,根据下拉1 变动下拉2
时间Sat Apr 7 21:27:11 2012
下拉清单的事件要使用 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
1F:推 chrisjon:喔喔!!感谢指导,我再试试 04/07 21:30