我正在VS 2012中的vb.net项目中工作,该项目具有多种形式。可以说,我有一个带有ListView的Form1,我从Form1调用了From2。我将此代码添加到Form2的Load事件中:
Form1.ListViewTest.Items.Add("test")
Visual Studio不会引发任何错误,但实际上在Form1的ListView控件中什么也没有发生。我试图将修改器从“ friend ”更改为“公开”,但没有成功。还有其他我想念的吗?
最佳答案
您必须访问form1的实例,而不是form 1对象本身。逐步浏览所有打开的表单,然后获取所需的表单。我个人使用表单的.Tag对象,并在其中添加一个字符串以进行标识。
For Each f As Form In My.Application.OpenForms
If Not f.InvokeRequired Then
' Can access the form directly.
'Get main form , use main form
If f.Tag = "main" Then
Dim fcast As New form_form1 '<< whatever your form name
fcast = f
Dim xitem As New ListViewItem
xitem.Text = "blah"
xitem.SubItems.Add("sub blah")
fcast.listview1.Items.Add(xitem) '<< use listview name
End If
End If
Next
关于vb.net - 其他形式的VB.NET的访问控制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18081978/