Public Class Form1
發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認(rèn)真做好每個細(xì)節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及發(fā)電機(jī)租賃等,在成都網(wǎng)站建設(shè)、成都營銷網(wǎng)站建設(shè)、WAP手機(jī)網(wǎng)站、VI設(shè)計、軟件開發(fā)等項目上具有豐富的設(shè)計經(jīng)驗。
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
輸入成績的時候,將成績存在數(shù)組里面,點排序時,用任一一種排序法(如選擇排序,冒泡排序),對成績數(shù)組進(jìn)行排序,然后將排序后的數(shù)組值添加的列表框二當(dāng)中就可以。
對數(shù)字的排序你已經(jīng)會,也會添加到第二個列表框,關(guān)鍵的問題就是你初始化第一個列表框的時候,將產(chǎn)生的成績(僅數(shù)字)存放起來就OK了。
另外:如果真是要對字符串中最后幾位為成績,前面為文字描述,這樣的一個數(shù)組進(jìn)行排序的話,就可以先將成績用字符串處理函數(shù)提取出來,然后再排序,同時記錄下各自之前的序號,這樣也可以實現(xiàn),當(dāng)然這種意義不大,畢竟之前的成績數(shù)字是會有的
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
Private
Sub
cmdMake_Click()
Dim
i
As
Integer
Dim
sngElement
As
Single
lstUnsorted.Clear
'
將列表框置空
Randomize
'
隨機(jī)生成MAXPLAYER
個無序元素
For
i
=
1
To
MAXPLAYER
'
產(chǎn)生隨機(jī)數(shù),乘以10
后進(jìn)行四舍五入,結(jié)果保留2
位小數(shù)
sngElement
=
Round((Rnd()
*
10),
2)
'
將產(chǎn)生的隨機(jī)數(shù)添加到列表框中
lstUnsorted.AddItem
sngElement
Next
'
設(shè)置插入排序按鈕可用
cmdInsSort.Enabled
=
True
End
Sub Private
Sub
cmdInsSort_Click()
Dim
aryPlayer(MAXPLAYER)
As
Single
Dim
i
As
Integer,
j
As
Integer
'
將無序列表中的數(shù)據(jù)讀入排序數(shù)組中
For
i
=
1
To
MAXPLAYER
aryPlayer(i)
=
lstUnsorted.List(i
-
1)
Next
'
初始狀態(tài)下,數(shù)組的第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
'
將排序后的數(shù)組添加到排序列表中
lstInsSort.Clear
For
i
=
1
To
MAXPLAYER
lstInsSort.AddItem
aryPlayer(i)
Next
End
Sub
“插入排序”按鈕的參考代碼如下,其中,“哨兵”由aryPlayer
(0)元素
充當(dāng)。
如果你的list項目是原本就設(shè)置好的,并且在程式運(yùn)行過程中不須要添加新項目的話,
就可以在設(shè)計時先選中l(wèi)ist,再在屬性窗口中找到sorted這個屬性,將它的默認(rèn)false改成true
就OK
如果你list項目想在程序過程中添加后仍然能夠自動排列,也同樣可以參照上面的方法,但是不能在程式代碼中使用
List1.Sorted
=
True
因為VB不能對只讀屬性做變更(這個我也不太懂,但代碼中寫入就是不行)
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個值
-------------
只是一個演示,其他的要靠自己。