Vb.net 如何将对象添加到另一个窗体?

Vb.net 如何将对象添加到另一个窗体?,vb.net,winforms,Vb.net,Winforms,我试图在一个表单中定义一个对象,然后当用户单击一个按钮时,该对象将被添加到一个新表单中,并显示 表格1 Public Shared label As New Label Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load label.Text = "test" End Sub 表格2 Private Sub Form2_Load(sender As Object,

我试图在一个表单中定义一个对象,然后当用户单击一个按钮时,该对象将被添加到一个新表单中,并显示

表格1

Public Shared label As New Label

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    label.Text = "test"
End Sub
表格2

Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.Controls.Add(Form1.label)
End Sub
每当我运行它时,它不会将标签放在第二个表单上。
有人能告诉我我做错了什么,或者说有更好的方法吗?

这能回答你的问题吗?如果没有一个正确的答案,就不可能说出你的代码到底出了什么问题。但有可能指出,整个方法真的、真的是错误的。一个给定的
表单
类应该完全负责自己的孩子;不应涉及其他对象,并且子对象都应是窗体的100%私有对象。在您的示例中,正确的方法是
Form2
类已经有了
标签
。。。。。。(最好通过设计器添加),并公开一个
字符串
属性,该属性允许
Form1
在适当的时间设置
文本
属性。提议的副本提供了大量的细节,以不同的方式来实现这一基本思想。尝试这样移动控件是不寻常的。您应该更喜欢移动数据,在第二个表单上创建标签的新实例可能会更好