首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Form2变量设置为Form1 (TextBox中的用户文本输入)

将Form2变量设置为Form1 (TextBox中的用户文本输入)
EN

Stack Overflow用户
提问于 2015-02-26 12:10:16
回答 3查看 214关注 0票数 0

计划:我想要求第二个Form2的用户输入一些文本。当此Form2关闭时,我希望在Form1上的文本框中显示输入文本.

在按钮事件上,在Form2上我可以到达Form2 1的文本框:

代码语言:javascript
运行
复制
Form1 form1 = new Form1();

和:

代码语言:javascript
运行
复制
form1.myText = "Test Name";

然后我关闭了Form2:

代码语言:javascript
运行
复制
this.Close();

但是值"Test Name“没有出现在form1 1的文本框中.我没搞错。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-26 12:22:44

调用new Form1()时,将创建Form1的新实例。您有两个Form1对象。这就是你的代码不能工作的原因。

如果希望快速实现,请将Form1作为变量添加到Form2类中。

代码语言:javascript
运行
复制
public Form1 form1;

然后,您可以在显示Form2之前设置它。

代码语言:javascript
运行
复制
Form2 form2 = new Form2();
form2.form1 = this;
form2.Show();

请记住删除此部分:Form1 form1 = new Form1();

现在你的代码应该可以工作了。

票数 3
EN

Stack Overflow用户

发布于 2015-02-26 12:15:52

在Form2上创建事件处理程序,并在此事件上从Form1钩子打开Form2时。在form2中,使用您自己的事件触发此事件,其中包含需要在Form1中显示的文本。

另一个解决办法是采取行动。在Form2中创建属性操作,打开时Form2设置此操作。当Form2关闭时,可以像_action.Invoke(textWhichUneed);那样执行此操作

票数 0
EN

Stack Overflow用户

发布于 2015-02-26 12:13:18

您应该在关闭前进行赋值。例如

代码语言:javascript
运行
复制
form1.myText = "Test Name";
this.Close();

另外,不应该创建form1,而应该通过它。如何将form1传递给form2?

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28742111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档