Vb.net 从列表视图中获取列标题并将其添加到组合框中
我想从列表视图中获取Vb.net 从列表视图中获取列标题并将其添加到组合框中,vb.net,winforms,listview,combobox,Vb.net,Winforms,Listview,Combobox,我想从列表视图中获取列标题,然后将它们放入组合框中。我已尝试使用以下代码执行此操作: For Each i In frmMain.lvItems.Columns cbColumn.Items.Add(i) Next 但这段代码显示了一段难看的文字,上面写着:“ColumnHeader:text:” 如何删除此项?您正在将ColumnHeader对象添加到组合框中,因此在组合框中显示的是ColumnHeader.ToString(),它是(.Net源代码),例如: 明确
列标题
,然后将它们放入组合框中。我已尝试使用以下代码执行此操作:
For Each i In frmMain.lvItems.Columns
cbColumn.Items.Add(i)
Next
但这段代码显示了一段难看的文字,上面写着:“ColumnHeader:text:”
如何删除此项?您正在将
ColumnHeader
对象添加到组合框中,因此在组合框中显示的是ColumnHeader.ToString()
,它是(.Net源代码),例如:
明确定义您迭代的对象的类型-这样您就不会得到对象
类型-并指定要设置的属性值,例如文本
属性(或名称
或您喜欢在组合框中看到的任何内容):
或者,将组合框的数据源设置为Columns集合,指定提供要显示的文本的属性:ColumnHeader.text
(“text”
)、ColumnHeader.Name
(“Name”
)等:
请注意,在本例中,组合框的每个项目都是ColumnHeader
对象,而不是字符串
ColumnHeader: Text: ColumnHeader1
cbColumn.Items.Clear()
For Each column As ColumnHeader In lvItems.Columns
cbColumn.Items.Add(column.Text)
Next
cbColumn.DataSource = Nothing
cbColumn.DisplayMember = "Text"
cbColumn.DataSource = lvItems.Columns