0

このような質問は他にもあると思いますが、何らかの理由で誰もこの問題を抱えていないようです. このようにロード時に作成する2列のリストビューを作成しようとしています。

With lstShipMethods
    .View = View.Details
    .FullRowSelect = True
    .HeaderStyle = ColumnHeaderStyle.None ' set to whatever you need
    .Columns.Clear() ' make sure collumnscollection is empty
    ' Add 3 columns
    .Columns.AddRange(New ColumnHeader() {New ColumnHeader(), New ColumnHeader()})
End With

lstShipMethods.Items.Add(New ListViewItem({"col1data", "col2data1"}))
lstShipMethods.Items.Add(New ListViewItem({"col1data", "col2data2"}))

うまく入力されますが、このように選択したアイテム列からデータを取得しようとすると

Private Sub lstShipMethods_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lstShipMethods.SelectedIndexChanged
    Dim val As String = lstShipMethods.FocusedItem.SubItems(1).Text
    MessageBox.Show(val)
End Sub

最初のクリックの後、行 1 の 2 番目の列とも呼ばれる両方の値が常に表示され、行 2 が に出力されますMessageBox

4

1 に答える 1