Vb.net - индекс находился вне допустимого диапазона. Должно быть неотрицательным и меньшим, чем размер коллекции ListView с
Я пытаюсь изменить изображение listview во время выполнения с помощью этого кода, но получаю ошибку:
Индекс был вне зоны досягаемости. Должен быть неотрицательным и меньше размера коллекции
Что я уже пробовал:
Try lvroom.BeginUpdate() For Each L As ListViewItem In lvroom.Items Dim mycommand As MySqlCommand = conn.open.CreateCommand Dim query1 = "SELECT room.*,roomtype.* FROM room, roomtype WHERE room.RoomType=roomtype.RoomType AND RoomNo='" & L.ImageKey & "'" mycommand.CommandText = query1 Dim baca1 As MySqlDataReader = mycommand.ExecuteReader If baca1.Read() Then Dim NoKamar As String = baca1("RoomNo") Dim str As String If Len(NoKamar) = 1 Then str = "00" & NoKamar ElseIf Len(NoKamar) = 2 Then str = "0" & NoKamar Else str = NoKamar End If If baca1("Available") = True And baca1("Status") = False Then L.ImageList.Images.RemoveByKey(L.ImageKey) Dim newbitmap As Bitmap = My.Resources.bulat_hijau Dim g As Graphics g = Graphics.FromImage(newbitmap) g.DrawString(str, New Font("Arial", 65, FontStyle.Bold), New SolidBrush(Color.Yellow), New Point(85, 50)) g.DrawString("______________________", New Font("Arial", 65, FontStyle.Bold), New SolidBrush(Color.White), New Point(0, 80)) g.DrawString(baca1("Singkatan"), New Font("Arial", 65, FontStyle.Bold), New SolidBrush(Color.White), New Point(82, 170)) L.Text = "EMPTY" L.Font = New Font("Arial", 12, FontStyle.Bold) L.ImageList.Images.Add(NoKamar, newbitmap) ElseIf baca1("Available") = False And baca1("Status") = False Then L.ImageList.Images.RemoveByKey(L.ImageKey) Dim newbitmap As Bitmap = My.Resources.bulat_purple Dim g As Graphics g = Graphics.FromImage(newbitmap) g.DrawString(str, New Font("Arial", 65, FontStyle.Bold), New SolidBrush(Color.Yellow), New Point(85, 50)) g.DrawString("______________________", New Font("Arial", 65, FontStyle.Bold), New SolidBrush(Color.White), New Point(0, 80)) g.DrawString(baca1("Singkatan"), New Font("Arial", 65, FontStyle.Bold), New SolidBrush(Color.White), New Point(82, 170)) L.Text = "N/A" L.Font = New Font("Arial", 12, FontStyle.Bold) L.ImageList.Images.Add(NoKamar, newbitmap) End If End If baca1.Close() lvroom.Refresh() Next lvroom.EndUpdate() Catch ex As Exception MsgBox(ex.Message) Finally conn.close() End Try