【问题标题】:How to get data from a combo-box vb如何从组合框vb中获取数据
【发布时间】:2011-06-13 00:05:59
【问题描述】:

我正在尝试从 vb 的组合框中获取所有数据。假设这些值是 john、sarah、bob。我希望能够将它们写入这样的文本文件:

约翰 莎拉 鲍勃

它们是使用添加的

combobox.add.item(sarah)  

反正我可以做这样的事情吗?

names = combobox.list.items

【问题讨论】:

    标签: vb.net list combobox


    【解决方案1】:

    在c#中会是这样的

    string names = string.Join(", ", comboBox.Items.Cast<object>()
                                             .Select(i => i.ToString()));
    

    这是相同的 sn-p (auto) 翻译成 vb.net

    Dim names As String = String.Join(", ", comboBox.Items.Cast(Of Object)().Select(Function(i) i.ToString()))
    

    或者您可以对所有项目进行简单的循环,并使用字符串构建器并连接每个项目。

    Dim sb As New StringBuilder()
    For Each item As Object In comboBox.Items
        sb.AppendFormat("{0}, ", item)
    Next
    Dim names As String = sb.ToString()
    

    【讨论】:

    • 这是 VB.net 的,因为它不识别 stringbuilder 或 var?
    • @Kuzon 包括 Imports System.Text 为 StringBuilder。
    • 它仍然给我 system.windows.forms.combobox+objectcollection Private Sub btnbwsworld_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnworld.Click cmbworld.Items.Add( "test") Dim sb As New StringBuilder() For Each item As var In cmbworld.Items sb.AppendFormat("{0}, ", item) Next Dim names As String = sb.ToString() MsgBox(names) End Sub
    • @Kuzon 而不是 var,试试 Object(我已经在我的回答中改变了)
    • @Bala R 我不认为这是一条错误消息,我认为它可能是名称的值。 msgbox(names) 将显示文本“system.windows.forms.combobox+objectcollection”
    猜你喜欢
    • 2013-05-24
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多