自定义列表视图上的列表都是一样的,在 Visual Basic 中应该不同

lists on custom listview are all the same, should be different in Visual Basic

如何在像这样变化的自定义列表视图上显示列表:

true

不是这样的:

false

哪里看得见,都一样?

我使用 用户控件(Windows 表单) 创建了 Daftar.vb,并创建了自定义列表视图使用 FlowLayoutPanel 并在其中输入 Daftar 工具箱

代码:

Daftar.vb

Imports System.ComponentModel

Public Class Daftar1
#Region "Properties"
    Private _title As String
    Private _message As String
    Private _icon As Image
    <Category("Custom Props")>
    Public Property Title As String
        Get
            Return _title
        End Get
        Set(ByVal value As String)
            _title = value
            judul.Text = value
        End Set
    End Property
    <Category("Custom Props")>
    Public Property Message As String
        Get
            Return _message
        End Get
        Set(ByVal value As String)
            _message = value
            deskripsi.Text = value
        End Set
    End Property
    <Category("Custom Props")>
    Public Property Icon As Image
        Get
            Return _icon
        End Get
        Set(ByVal value As Image)
            _icon = value
            gambar.Image = value
        End Set
    End Property
#End Region
End Class

RestaurantApp.vb

Public Class RestaurantApp
    Private Sub PopulateItems()
        Dim listItems As Daftar1() = New Daftar1(20) {}
        Dim i As Integer
        For i = 0 To listItems.Length - 1
            listItems(i) = New Daftar1()
            listItems(i).Title = "vdsvhd"
            listItems(i).Message = "Penjelasan"
            If i <> 0 Then
                panelDaftar.Controls.Add(listItems(i))
            End If
        Next
    End Sub


    Private Sub RestaurantApp_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Call Me.PopulateItems()
    End Sub
End Class

在 Whosebug 和 Youtube 上搜索后,我设法找到了答案。以下是 RestaurantApp.vb 的代码:

Public Class RestaurantApp
    Private Sub PopulateItems()
        Dim listItems As Daftar1() = New Daftar1(5) {}
        Dim judul As String() = New String(4) {"Burger", "Sosis", "Nasi", "Pizza", "Ayam"}
        Dim penjelasan As String() = New String(4) {"a", "b", "c", "d", "e"}
        Dim i As Integer
        For i = 0 To listItems.Length - 1
            If i < judul.Length And i < penjelasan.Length Then
                listItems(i) = New Daftar1()
                listItems(i).Title = judul(i)
                listItems(i).Message = penjelasan(i)
                If i <> 0 Then
                    panelDaftar.Controls.Add(listItems(i))
                End If
            End If
        Next
    End Sub


    Private Sub RestaurantApp_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Call Me.PopulateItems()
    End Sub
End Class

谢谢@anu6is 和 Whosebug