VB的combox怎么实现三级联动

2025-04-27 09:23:37
推荐回答(1个)
回答1:

关键是在上一级组合框的Click()事件或Chang()事件里编写对于下一级组合框重新添加项目的代码。我做了一个简单的示例,请看完整代码如下:
说明:如果数据项比较多,那就应该用数据库来实现!

Option Explicit

Private Sub Combo1_Click()
Combo2.Clear
If Combo1.Text = "初一" Then
Combo2.AddItem "初一1班"
Combo2.AddItem "初一2班"
Combo2.AddItem "初一3班"
ElseIf Combo1.Text = "初二" Then
Combo2.AddItem "初二1班"
Combo2.AddItem "初二2班"
Combo2.AddItem "初二3班"
Else
Combo2.AddItem "初三1班"
Combo2.AddItem "初三2班"
Combo2.AddItem "初三3班"
End If
Combo2.Text = Combo2.List(0)

End Sub

Private Sub Combo2_Change()
Call MyChang
End Sub

Private Sub Combo2_Click()
Call MyChang
End Sub

Private Sub Form_Load()
Combo1.AddItem "初一"
Combo1.AddItem "初二"
Combo1.AddItem "初三"
Combo1.Text = Combo1.List(0)

Combo2.AddItem "初一1班"
Combo2.AddItem "初一2班"
Combo2.AddItem "初一3班"
Combo2.Text = Combo2.List(0)

Combo3.AddItem "初一1班aaa"
Combo3.AddItem "初一1班bbb"
Combo3.AddItem "初一1班ccc"
Combo3.Text = Combo3.List(0)

End Sub

Private Sub MyChang()
Combo3.Clear
Select Case Combo2.Text
Case "初一1班"
Combo3.AddItem "初一1班aaa"
Combo3.AddItem "初一1班bbb"
Combo3.AddItem "初一1班ccc"
Case "初一2班"
Combo3.AddItem "初一2班aaa"
Combo3.AddItem "初一2班bbb"
Combo3.AddItem "初一2班ccc"
Case "初一3班"
Combo3.AddItem "初一3班aaa"
Combo3.AddItem "初一3班bbb"
Combo3.AddItem "初一3班ccc"
Case "初二1班"
Combo3.AddItem "初二1班aaa"
Combo3.AddItem "初二1班bbb"
Combo3.AddItem "初二1班ccc"
Case "初二2班"
Combo3.AddItem "初二2班aaa"
Combo3.AddItem "初二2班bbb"
Combo3.AddItem "初二2班ccc"
Case "初二3班"
Combo3.AddItem "初二3班aaa"
Combo3.AddItem "初二3班bbb"
Combo3.AddItem "初二3班ccc"
Case "初三1班"
Combo3.AddItem "初三1班aaa"
Combo3.AddItem "初三1班bbb"
Combo3.AddItem "初三1班ccc"
Case "初三2班"
Combo3.AddItem "初三2班aaa"
Combo3.AddItem "初三2班bbb"
Combo3.AddItem "初三2班ccc"
Case "初三3班"
Combo3.AddItem "初三3班aaa"
Combo3.AddItem "初三3班bbb"
Combo3.AddItem "初三3班ccc"
End Select
Combo3.Text = Combo3.List(0)

End Sub