VB6 及 Excel Form 2.0中列表框 如何实现上移 下移的操作

2019-07-07 09:29:00
zstmtony
原创
487

VB6 及 Excel Form 2.0中列表框 如果实现上移 下移的操作

主要原理就是把当前项的值与上一项(上移)或下一项(下移)的值进行对调以实现列表框项目上移或下调的目的

源创作者:tmtony



Private Sub cmdUp_Click()
Dim strCurrData As String
Dim strPreviousData As String
If lstQQ.ListIndex > 0 Then  '如果当前项不是第一项(因为第一项就无法再上移了)
 lstQQ.Tag = lstQQ.List(lstQQ.ListIndex)   '把当前项的值临时保存在Tag属性里
 strCurrData = lstQQ.ItemData(lstQQ.ListIndex)
 strPreviousData = lstQQ.ItemData(lstQQ.ListIndex - 1)

 lstQQ.List(lstQQ.ListIndex) = lstQQ.List(lstQQ.ListIndex - 1) '当前项赋值为上一项
 lstQQ.List(lstQQ.ListIndex - 1) = lstQQ.Tag '上一项赋值为当前项

 lstQQ.ItemData(lstQQ.ListIndex - 1) = strCurrData
 lstQQ.ItemData(lstQQ.ListIndex) = strPreviousData

 lstQQ.ListIndex = lstQQ.ListIndex - 1 '设上一项为当前项
End If

End Sub



Private Sub cmdDown_Click()
Dim strCurrData As String
Dim strNextData As String
If lstQQ.ListIndex < lstQQ.ListCount - 1 Then '如果当前项不是最后一项(原理同上Access中国) lstQQ.Tag = lstQQ.List(lstQQ.ListIndex) '把当前项的值临时保存在Tag属性里 strCurrData = lstQQ.ItemData(lstQQ.ListIndex) strNextData = lstQQ.ItemData(lstQQ.ListIndex + 1) lstQQ.List(lstQQ.ListIndex) = lstQQ.List(lstQQ.ListIndex + 1) '当前项赋值为下一项 lstQQ.List(lstQQ.ListIndex + 1) = lstQQ.Tag '下一项赋值为当前项 lstQQ.ItemData(lstQQ.ListIndex + 1) = strCurrData lstQQ.ItemData(lstQQ.ListIndex) = strNextData lstQQ.ListIndex = lstQQ.ListIndex + 1 '设下一项为当前项 office中国 End If End Sub



分享