我做了一個謎題的應用程序,你首先從你的電腦中選擇一個圖像,然後你點擊開始,它將圖像的一部分,並將它們添加到列表視圖。然後你從列表視圖中的圖像,並把它們放在自由空間。但問題是在列表視圖中,圖像是有序的(圖像部分從右到左和從上到下)。VB.net混合項目的列表視圖
我在這裏的問題是如何在我的列表視圖中隨機混合項目(圖像)?
我做了一個謎題的應用程序,你首先從你的電腦中選擇一個圖像,然後你點擊開始,它將圖像的一部分,並將它們添加到列表視圖。然後你從列表視圖中的圖像,並把它們放在自由空間。但問題是在列表視圖中,圖像是有序的(圖像部分從右到左和從上到下)。VB.net混合項目的列表視圖
我在這裏的問題是如何在我的列表視圖中隨機混合項目(圖像)?
謝謝大家,我發現如何做到這一點: 我創建了一個新的列表視圖並將其命名爲listview2(第一個是listview1)。 然後我添加完所有圖像listview2不LV1,之後我隨意添加LV2的項目LV1和它的工作
對於i = 0到ListView2.Items.Count - 1 昏暗的值作爲整數= CINT (INT((ListView2.Items.Count - 1)*賽第一輪()))
ListView1.Items.Add(ListView2.Items(value).Text, ListView2.Items(value).ImageIndex)
ListView2.Items(value).Remove()
Next i
問候
以隨機順序拆開拼圖然後將其存儲在LV中會更容易。要做到這一點,你必須爲每個拼圖塊分配一個索引值,如ID。用它來分開這個難題,並知道他們選擇了哪一個。
這將創建一個列表(整數),這將是這一難題的標識,並打亂它:
Function RandomList(MaxVal As Integer) As List(Of Integer)
Dim rand As New Random()
Dim list As New List(Of Integer)
Dim temp As Integer
Dim ndxRand As Integer
For n As Integer = 0 To MaxVal - 1
list(n) = n
Next
For thisNDX As Integer = 0 To MaxVal - 1
ndxRand = rand.Next(thisNDX, MaxVal)
temp = list(ndxRand)
list(ndxRand) = list(thisNDX)
list(thisNDX) = temp
Next thisNDX
Return list
End Function
使用它是這樣的:
Dim list As List(Of Integer) = RandomList(PieceCount)
For n As Integer = 0 To PieceCount - 1
puzzlePiece = Puzzle.ReMovePiece(List(n))
AddPieceToLV(puzzlePiece)
Next n
當然,這僅僅是一個因爲我們不知道代碼是什麼樣子。
由於各種原因,直接隨機化LV是有問題的。我想象這些作品是圖像,我不知道如何分類圖像;你必須爲它們分配一個值來進行排序。接下來,LV原生只按Item而不是SubItems排序,這是圖像可能在LgIcon視圖(?...猜測)中顯示的位置。接下來,LV只做一個文本排序(除非你還寫了一個ListViewItemSorter),這將成爲一個超過10的計數問題。更容易將它拆開並隨機存儲。
你有* *洗牌之前,你的作品將它們添加到列表視圖。就像你洗牌一樣。只是谷歌,查詢「vb.net隨機隨機播放」 –