标签的值已修改,但在表单中未更改
本文关键字:表单 修改 标签 | 更新日期: 2023-09-27 18:27:26
这里有两个表单,我想将数据从辅助表单(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中更改我的文本!)
通过这种方式,我可以得出结论,标签的值发生了更改,但表单中的文本保持不变
如果我以次要形式添加引用,为什么这不起作用?有人能帮忙吗?我真的需要解决这个问题!提前感谢大家!
您的代码显示,在尝试设置label1.Text
而不是引用现有的Form1
时,您正在创建Form1
的新实例。AddUserForm
中需要一个变量,该变量可以包含对Form1
的引用。
您应该在AddUserForm中添加以下内容:
public Form1 MyForm1;
然后,将第一个代码块更改为(假设创建AddUserForm
的是Form1
)
AddUserForm secondaryform = new AddUserForm();
secondaryform.MyForm1 = this;
secondaryform.label1.Text = "Text";
然后将您的第二个代码块更改为:
MyForm1.label1.Text = "Text";