VB 刷新List 大侠帮帮忙...(在线等!!!!!)

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:04:57
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0
List1.AddItem List1.ListCount + 1 & "、" & Text1.Text
Case 1
List1.RemoveItem List1.ListIndex
End Select
End Sub
看看上面这段代码
Case 0为从text1里添加到list1,前面还加了序号
case 1为删除鼠标所选项
可是如果我在list1里添加:
1、a
2、b
3、c
4、d
(前面的序号是自动添加的语句是List1.AddItem List1.ListCount + 1 & "、" & Text1.Text 别误认成是手动添加的)
如果我删除第2项“2、b”在后面添加e, list1就会变成:
1、a
3、c
4、d
4、e
我怎么能让list1不管删去哪一行都正确的排列成:
1、
2、
3、
4、
5、
6、
7、
8、
9、
10、
...
...
大侠帮帮我呀+_+...
对不起,没分了
我要是有分,我一定悬赏50分
好心人帮帮忙!

试试看
Dim a As Integer
Static b() As String
Static c() As Integer
Dim i As Integer
Select Case Index
Case 0
List1.AddItem List1.ListCount + 1 & "、" & Text1.Text
ReDim Preserve b(List1.ListCount)
ReDim Preserve c(List1.ListCount)
b(UBound(b)) = Text1
c(UBound(c)) = List1.ListCount + 1
Case 1
a = List1.ListIndex
For i = a To List1.ListCount - 1
b(i) = b(i + 1)
c(i) = c(i + 1) - 1
Next
ReDim Preserve b(List1.ListCount - 1)
ReDim Preserve c(List1.ListCount - 1)
List1.RemoveItem List1.ListIndex
For i = 0 To List1.ListCount - a - 1
List1.RemoveItem a
Next
For i = a To UBound(b) - 1
List1.AddItem c(i) & "、" & b(i)
Next
End Select