成都网站建设设计

将想法与焦点和您一起共享

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://chengdu.cdxwcx.cn/article/phsgdc.html