读书人

ListBox中的内容用button控制其上下移

发布时间: 2012-01-08 22:48:50 作者: rapoo

ListBox中的内容用button控制其上下移动
作两个button一个向上功能 一个向下功能
点击向下功能被选中的一条或者多条数据向下移动,当然左后一条除外
并且被选中的数据还是被选择状态
向上移动按钮也是一样,最上条数据也是不能移动,而且被选中数据移动后也是被选择状态

[解决办法]
数据绑定在listbox之前单独定义一个用于排序列,然后在上移或下移的时候将相应数据的排序列update,可以通过listbox.item(i).select 等方法来选中控件的某个单元。
[解决办法]

窗体里有ButtonUP,ButtonDOWN,还有Listbox1
点ButtonUP选定的元素上移一个
以下是代码


Private Sub ButtonUP_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonUP.Click
If ListBox1.SelectedIndices.Contains(0) Then
Exit Sub

End If
Dim k As Integer
For k = ListBox1.SelectedIndices.Item(0) - 1 To ListBox1.SelectedIndices.Item(ListBox1.SelectedIndices.Count - 1)
If ListBox1.SelectedIndices.Contains(k + 1) Then
Change(k, k + 1)
End If

Next
End Sub

Private Sub Change(ByVal a As Integer, ByVal b As Integer)
Dim temp

temp = ListBox1.Items(a)

ListBox1.Items(a) = ListBox1.Items(b)
ListBox1.Items(b) = temp
ListBox1.SelectedIndices.Remove(b)
ListBox1.SelectedIndices.Add(a)
End Sub

Private Sub ButtonDOWN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDOWN.Click
If ListBox1.SelectedIndices.Contains(ListBox1.Items.Count - 1) Then
Exit Sub

End If
Dim k As Integer
For k = ListBox1.SelectedIndices.Item(ListBox1.SelectedIndices.Count - 1) + 1 To ListBox1.SelectedIndices.Item(0) Step -1
If ListBox1.SelectedIndices.Contains(k - 1) Then
Change(k, k - 1)
End If

Next
End Sub

读书人网 >VB Dotnet

热点推荐