我在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,如果您知道如何解决这个问题请帮帮我。
谢谢
答案 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)