vb.net列表框排序,vb中排序
在VB.net中,如何把listbox中的数值进行排序
Public Class Form1
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及发电机租赁等,在成都网站建设、成都营销网站建设、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListBox1.Items.Add("Apple")
ListBox1.Items.Add("Cat")
ListBox1.Items.Add("Yellow")
ListBox1.Items.Add("Guilty")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ListBox1.Sorted = True
End Sub
End Class
求指导,VB列表框1的内容按照 成绩 排序 后显示在列表框2
输入成绩的时候,将成绩存在数组里面,点排序时,用任一一种排序法(如选择排序,冒泡排序),对成绩数组进行排序,然后将排序后的数组值添加的列表框二当中就可以。
对数字的排序你已经会,也会添加到第二个列表框,关键的问题就是你初始化第一个列表框的时候,将产生的成绩(仅数字)存放起来就OK了。
另外:如果真是要对字符串中最后几位为成绩,前面为文字描述,这样的一个数组进行排序的话,就可以先将成绩用字符串处理函数提取出来,然后再排序,同时记录下各自之前的序号,这样也可以实现,当然这种意义不大,毕竟之前的成绩数字是会有的
用VB设计一个列表框的数组排列
Dim a(49) As Integer
Private Sub Command1_Click()
Dim i%
List1.Clear
For i = 0 To 49
Randomize
a(i) = Int(900 * Rnd) + 100
List1.AddItem a(i)
Next
End Sub
Private Sub Command2_Click()
Dim i%, j%, t%
For i = 0 To 48
For j = i To 49
If a(i) a(j) Then
t = a(i): a(i) = a(j): a(j) = t
End If
Next
Next
For i = 0 To 49
List2.AddItem a(i)
Next
End Sub
用VB排列列表框的数组(从小到大排列)
Private
Sub
cmdMake_Click()
Dim
i
As
Integer
Dim
sngElement
As
Single
lstUnsorted.Clear
'
将列表框置空
Randomize
'
随机生成MAXPLAYER
个无序元素
For
i
=
1
To
MAXPLAYER
'
产生随机数,乘以10
后进行四舍五入,结果保留2
位小数
sngElement
=
Round((Rnd()
*
10),
2)
'
将产生的随机数添加到列表框中
lstUnsorted.AddItem
sngElement
Next
'
设置插入排序按钮可用
cmdInsSort.Enabled
=
True
End
Sub Private
Sub
cmdInsSort_Click()
Dim
aryPlayer(MAXPLAYER)
As
Single
Dim
i
As
Integer,
j
As
Integer
'
将无序列表中的数据读入排序数组中
For
i
=
1
To
MAXPLAYER
aryPlayer(i)
=
lstUnsorted.List(i
-
1)
Next
'
初始状态下,数组的第1
个元素被看作是有序的部分
'
从第2
个元素起,依次将其插入到前面的有序部分
For
i
=
2
To
MAXPLAYER
'
将第i
个元素的值赋给哨兵
aryPlayer(0)
=
aryPlayer(i)
'
以下代码从前向后将有序部分大于哨兵的元素后移
j
=
i
-
1
Do
While
aryPlayer(j)
aryPlayer(0)
aryPlayer(j
+
1)
=
aryPlayer(j)
j
=
j
-
1
Loop
'
第j
个元素不大于哨兵
'
则将哨兵(即第i
个元素)插在第j
个元素后
aryPlayer(j
+
1)
=
aryPlayer(0)
Next
'
将排序后的数组添加到排序列表中
lstInsSort.Clear
For
i
=
1
To
MAXPLAYER
lstInsSort.AddItem
aryPlayer(i)
Next
End
Sub
“插入排序”按钮的参考代码如下,其中,“哨兵”由aryPlayer
(0)元素
充当。
请问VB系统能不能在列表框中自动实现将项目按字母顺序从大到小排列?
如果你的list项目是原本就设置好的,并且在程式运行过程中不须要添加新项目的话,
就可以在设计时先选中list,再在属性窗口中找到sorted这个属性,将它的默认false改成true
就OK
如果你list项目想在程序过程中添加后仍然能够自动排列,也同样可以参照上面的方法,但是不能在程式代码中使用
List1.Sorted
=
True
因为VB不能对只读属性做变更(这个我也不太懂,但代码中写入就是不行)
VB.NET 如何将ListBox列表框的所有项复制到一个数组中,便于排序?谢谢解答
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ListboxTotalItem As Integer = ListBox1.Items.Count - 1
Dim a(ListboxTotalItem) As String
For i As Integer = 0 To ListboxTotalItem
a(i) = i
Next
Label1.Text = a(5)
End Sub
End Class
-------------
一个Form1
一个Label1
一个Listbox1
一个Button1
在Listbox1中加入10个值
-------------
只是一个演示,其他的要靠自己。
文章名称:vb.net列表框排序,vb中排序
标题来源:http://azwzsj.com/article/phsgdc.html