VB.Net以另一种形式将值从datagridview添加到列表框

时间:2015-11-09 04:10:47

标签: vb.net winforms datagridview listbox

我在VB.Net桌面编程方面遇到了麻烦,我有一个带有ListBox的Form,叫做Form1,这个窗体有一个按钮,在新窗体里面会出现另一个带有DataGridView的窗体,我们称之为参与者。然后我有一个场景,当用户单击按钮时,它将调用Participant表单,当用户单击Participant表单中的datagridview行时,它将从该行获取值并将值添加到Form1中的ListBox,I已完成从行中获取值,但我无法将值添加到ListBox。这是我的代码,可以帮助您了解我所做的事情。

这是将调用参与者表单的代码:

Private Sub Button7_Click(sender As System.Object, e As System.EventArgs) Handles Button7.Click
    Dim myForm As New Participant
    If myForm Is Nothing Then
        myForm = New Participant
    End If
    myForm.Show()
End Sub

这是将参与者表单中的DataGridView的值添加到Form1中的ListBox的代码

Private Sub DataGridView1_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
    Dim yourColumnIndex As Int32 = 1
    If e.ColumnIndex = yourColumnIndex Then

        participant_Share = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value
        Form1.ListBox1.Items.Add(participant_Share)
    End If
End Sub

但是这段代码无法将值插入ListBox,如果您知道如何解决这个问题请帮帮我。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以更改Participant构造函数以接受ListBox作为参数并将其存储在本地变量中。

Private yourListBoxReference As ListBox

Public Sub New(ByVal yourListBox As ListBox)

    InitializeComponent()

    yourListBoxReference = yourListBox

End Sub

因此,您可以将此表单称为:

myForm = New Participant(yourListBox)

并使用局部变量向ListBox添加元素:

yourListBoxReference.Items.Add(participant_Share)