0

この方法で2つの列の間に値を動的に入力するリストビューがあります:

column 1 | column 2
value1 | value 2
value3 | value 4

ただし、列 2 の値を選択できません。これを実行できないリストビューのプロパティがありますか、それともこれらの列にデータを入力する方法ですか? 列にデータを入力するコードは次のとおりです。

For k = 0 To UBound(tempValues)  

    Dim itm As New ListViewItem(tempValues(k))   

    If k Mod 2 = 0 Then 

        listview1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize)  

        itm.SubItems.Add(tempValues(k + 1)) 

        listview1.Items.Add(itm)  

    End If 

    listview1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize)  
Next 

何か案は?

4

1 に答える 1

2

これについて私が見ることができる最も近いのは、設定listView1.FullRowSelect = trueすることです(私はあなたが持っていると思いますlistView1.View = View.Detailsか?)

ただし、これは完全な行の選択のみを提供します.2列目はリストビューのアイテムの1番目のサブアイテムを表すことに注意してください。

データの複数の列が必要な場合は、 を設定したほうがよい場合がありlistView1.View = View.Details = View.Listます。これにより、垂直方向のスペースがなくなると、項目の 1 つのリストが複数の列に折り返されます。

編集:

を使用する場合listView1.View = View.List、母集団を次のように変更する必要があります。

For k = 0 To UBound(tempValues)  
    listview1.Items.Add(new ListViewItem(tempValues(k))   
Next 

listview1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize)  

しかし、それはあなたが次のようなリストになってしまうことを意味します:

Value 1
Value 2
Value 3
Value 4

また、ListView が短すぎて表示できない場合は、これらすべてがラップされます。

Value 1    Value 4
Value 2
Value 3
于 2013-02-25T15:07:27.640 に答える