Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何将项目添加到同一行的列表框(VB)_Vb.net - Fatal编程技术网

Vb.net 如何将项目添加到同一行的列表框(VB)

Vb.net 如何将项目添加到同一行的列表框(VB),vb.net,Vb.net,我想让它每次通过for循环时,都将值放在同一行上,但我不知道如何做。有人能帮忙吗 编辑:我正在尝试设置一个地址簿类型代码,用于分配,我希望显示输出,以便所有J输出都位于列表框的同一行 下面是代码,它将声明J的每个数字是什么: Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click i += 1 j = 0 AddressArray(i, j) = TxtFirstN

我想让它每次通过for循环时,都将值放在同一行上,但我不知道如何做。有人能帮忙吗

编辑:我正在尝试设置一个地址簿类型代码,用于分配,我希望显示输出,以便所有J输出都位于列表框的同一行

下面是代码,它将声明J的每个数字是什么:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    i += 1
    j = 0
    AddressArray(i, j) = TxtFirstName.Text   
    j += 1

    AddressArray(i, j) = TxtLastName.Text 

    j += 1

    If TxtHomePhone.Text = "" Then              
        AddressArray(i, j) = "N/A"
        j += 1
    Else
        AddressArray(i, j) = TxtHomePhone.Text
        j += 1
    End If
    If TxtMobilePhone.Text = "" Then           
        AddressArray(i, j) = "N/A"
        j += 1
    Else
        AddressArray(i, j) = TxtMobilePhone.Text
        j += 1
    End If
    AddressArray(i, j) = TxtHomeNumb.Text       
    j += 1
    AddressArray(i, j) = TxtStName.Text         
    j += 1

    AddressArray(i, j) = TxtSuburb.Text    

    For j = 0 To 6
        LstAddresses.Items.Add(AddressArray(i, j))

    Next
End Sub      
for循环是将其打印出来,我将在表单上给出输出的图片,以给出我想要的内容和给出的内容:(我使用streamreader作为列表框的输入读取了一个文件作为测试数据)


使用
ListBox.Items.Insert(0,item)
而不是
ListBox.Items.Add(item)


Insert(index,item)
方法,带有
index:0
,该方法将它们放在集合的顶部。

如果我理解您的意图,您应该将相关数据连接到单个字符串中,然后将该字符串添加到列表框中

Dim data As String = ""
Dim loopEnd As Integer = 6
For j As Integer = 0 To loopEnd
    If j < loopEnd Then
        data = data & AddressArray(i, j) & ", "
    Else
        data = data & AddressArray(i, j)
    End If
Next
LstAddresses.Items.Add(data)
Dim数据为字符串=“”
Dim loopEnd为整数=6
对于j,作为整数=0到loopEnd
如果j
不要忘记在字符串中添加自己的逗号和空格

我建议不要将数据存储在数组中,而是定义一个具有相关属性的address类,并且只使用一维数组。如果您决定更改地址数据中的字段数,那么它将使代码不那么容易出错,并且更易于维护


此外,如果
AddressArray
在第一维中包含类似名称或ID的内容,请将其包含在新的
Address
类中,而不是使用数组,只需使用
列表(地址)
,这将使编写代码和维护代码更加容易。

发布您的源代码,不是截图,“在同一条线上”到底是什么意思?已提供一个答案,将在所有现有项目上方插入一个新项目。这是一种解释。也可能是希望新数据与现有项合并在同一行上。这取决于你提供一个完整和明确的解释问题。你越是愿意接受解释,我们就越有可能错误地解释,浪费我们和你的时间提供不相关的建议。对不起,我不清楚,我的意思是在列表框(输出)的同一行上,所以每次它通过for循环,它将在listbox的同一行上打印输出。jmc给了您一些非常清晰的措辞。你的回答是重申和重复最初导致误解的含糊不清的措辞。你可以看出这对我们来说是多么令人沮丧,是吗?你的评论并没有澄清你所问的完全不清楚的问题。请把你的帖子写得更清楚,明确你在问什么。列表框的同一行是什么意思?如果希望列表框中有单个项,请提前连接字符串并将其作为单个项添加。如果你的意思是其他的,那么清楚地解释(在你的问题中通过一个,而不是在评论中)你想做什么。并将代码作为文本而不是图像发布。直接从您的代码编辑器复制/粘贴它。抱歉,我可能不清楚我想要什么,浪费了一些时间,我是这个网站的新手。(我将编辑问题)我试图得到的是,For循环的输出将显示在列表框的一行中,而不是显示在每一行中。我将加入更多的代码,并尝试给出上下文,抱歉造成混淆!谢谢你的回答!!这看起来比我做的更有效率。谢谢