好吧,我在这里有两个表单,我想将数据从辅助表单(AddUserForm)传递给主表单(Form1)。我的问题是无法正常工作
例如,我在Form1中输入以下内容:
AddUserForm secondaryform = new AddUserForm();
secondaryform.label1.Text = "I was created in AddUserForm and will change my text here in Form1!";
这很有效。我可以使用它来更改Form1中AddUserForm标签的值和文本,但反之亦然。
现在看看,使用次要形式的相同方法:
Form1 primaryform = new Form1();
primaryform.label1.Text = "I was created in Form1 and will change my text here in AddUserForm!";
这不行!标签文字不会改变!
我使用MessageBox向我显示标签的内容,并向我显示了指示的文本(我是在Form1中创建的,将在AddUserForm中更改我的文本!)通过这种方式我可以得出结论标签的值已更改,但表单中的文本保持不变!
如果我以二级形式添加引用,为什么这不起作用?有人可以帮忙吗?我真的需要解决这个问题!提前谢谢!
答案 0 :(得分:1)
您的代码显示您在尝试设置Form1
而不是引用现有label1.Text
时创建了Form1
的新实例。您需要AddUserForm
中的变量,该变量可以包含对Form1
的引用。
您应该在AddUserForm中添加以下内容:
public Form1 MyForm1;
然后,将第一个代码块更改为(假设您Form1
正在创建AddUserForm
)
AddUserForm secondaryform = new AddUserForm();
secondaryform.MyForm1 = this;
secondaryform.label1.Text = "Text";
然后将您的第二个代码块更改为:
MyForm1.label1.Text = "Text";