当前位置:编程学习 > VB >>

combo1 排序问题

各位大侠:
   combo1 已经加载如下内容:
        硫酸庆打霉素-12QDMSZSY
        感康-SSXSZP
        咳特-SSXSZSY
        西林纳-12BZXLN

如何实现.当我在combo1中输入ssxszp 时 "感康-SSXSZP " 在combo1中的的顺利变为第一位

即:      
          感康-SSXSZP
          硫酸庆打霉素-12QDMSZSY
          咳特-SSXSZSY
          西林纳-12BZXLN

         

           
--------------------编程问答-------------------- Private Sub Combo1_KeyPress(KeyAscii As Integer)
Dim i As Integer, tmp As String

    If KeyAscii = vbKeyReturn Then
        For i = 0 To Combo1.ListCount
        tmp = Mid(Combo1.List(i), InStrRev(Combo1.List(i), "-") + 1)
        If tmp = UCase(Combo1.Text) Then
            tmp = Combo1.List(1)
            Combo1.RemoveItem i
            Combo1.AddItem tmp, 0
            Combo1.ListIndex = 0
            KeyAscii = 0
        End If

        Next i
    End If
End Sub

Private Sub Form_Load()
    Combo1.AddItem "硫酸庆打霉素-12QDMSZSY"
    Combo1.AddItem "感康 -SSXSZP"
    Combo1.AddItem "咳特 -SSXSZSY"
    Combo1.AddItem "西林纳-12BZXLN"
End Sub  --------------------编程问答--------------------
'添加Combo1
Private Sub Form_Load()
    Combo1.AddItem "硫酸庆打霉素-12QDMSZSY"
    Combo1.AddItem "感康 -SSXSZP"
    Combo1.AddItem "咳特 -SSXSZSY"
    Combo1.AddItem "西林纳-12BZXLN"
    Combo1.AddItem "好123"
    Combo1.AddItem "测试"
End Sub

Private Sub Combo1_Change()
    Dim intPos%, strTemp$
    intPos = returnItemPos(Combo1.Text, Combo1)
    If intPos <> 0 And intPos <> Combo1.ListCount Then
        strTemp = Combo1.List(intPos)
        Combo1.List(intPos) = Combo1.List(0)
        Combo1.List(0) = strTemp
        Combo1.Text = Combo1.List(0)
        Combo1.SelStart = Len(Combo1.Text)
    End If
    
End Sub

Function returnItemPos(strItem As String, cmb1 As ComboBox) As Integer
    Dim i As Integer
    For i = 0 To cmb1.ListCount - 1
        If strItem = cmb1.List(i) Then Exit For
    Next
    returnItemPos = i
End Function
--------------------编程问答-------------------- 没遇到过这种情况.
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,