【发布时间】:2012-11-08 01:05:14
【问题描述】:
C# 文本框发送文本值。情况,我有2个表格。表格 1 和表格 2。 Form1 有一个文本框,form2 有一个文本框和一个按钮,我将在 form2 文本框上放置一个文本值,当我单击 form2 按钮时,将发送 form2 文本框的值并更改 form1 文本框值....需要帮助。 .
这就是我所做的……我只是总结一下
Form1 没有代码,只有 textbox1
这是form2按钮中的代码
private void change_Click(object sender, EventArgs e)
{
form1 frm1 = new form();
string test = textbox2.text
frm1.textbox.text = test;
}
我尝试了一些弹出消息框来检查值是否通过...到目前为止,该值确实通过了,但 UI 中没有任何变化
【问题讨论】:
-
您是如何打开每个表单的?如果您使用 ShowDialog 从另一个打开一个,您可以引用所有者表单并将其转换为适当的类型(表单 1)并访问文本框(如果其修饰符是 Public)。
-
请告诉我们你目前在做什么。
-
是的。另一个问题是 Show() 和 showDialog() 的区别是什么?当我尝试更改 form1 文本框并关闭 form2 时,唯一通过的是值,但我看不到 form1 文本框(物理)中的任何变化。
-
@user974015 ShowDialog 在应用程序模态状态下打开表单,这意味着在子表单完成之前您无法对父表单执行任何操作。 Show 只是打开另一个表单,您可以同时使用它们。
-
您可能已经注意到以下所有答案都是完全猜测。这是因为您尚未向我们展示您到目前为止所做的事情,因此我们无法理解您的问题发生的背景。如果您“正确地传递了值,但 UI 根本没有改变”,那么您很可能是在实例化一个新表单而不是使用现有表单。在这种情况下,您没有“正确传递值”。