|
回复 11# 的帖子
问:当我们不幸又误选了已经选过的条目,其他选中的消逝了,只保留了最后选中的。能否在误点击了已选项没有反应就好了
答:加上一个判断即可,见下面程序。不过这时从多选变为其中一个选项就要先清空内容才行。
Private Sub Combo0_AfterUpdate()
Dim i As Integer, strList As String
With Combo0
MsgBox InStr(1, .Tag, .Text)
For i = 0 To .ListCount
strList = IIf(Nz(strList) = "", "", strList & ";") & .ItemData(i)
Next
If InStr(1, .Tag, .Text) = 0 And InStr(1, strList, .Text) > 0 Then
.Value = IIf(Nz(.Tag) = "", "", .Tag & "、") & .Text
End If
'加上判断已选及在列表内则内容不变即可
If InStr(1, .Tag, .Text) > 0 And InStr(1, strList, .Text) > 0 Then
.Value = IIf(Nz(.Text) = "", "", .Tag)
End If
.Tag = .Text
End With
End Sub |
|