专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

ListBox中的内容用button控制其上下移动解决方法

发布时间:2011-06-23 15:56:35 文章来源:www.iduyao.cn 采编人员:星星草
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
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: