【发布时间】:2017-10-06 11:17:50
【问题描述】:
我有 Form1 和 Form2,在 Form1 中我有一些文本框,例如用户名、密码等等……还有一个文本框“区域”。当用户点击“区域”(Form1.hide())时,Form2 打开女巫有 5 个带有区域名称的标签。
那么当用户单击 Form2 中的区域名称时,我该如何做到这一点,Form1 将在其上显示该区域?并保留用户在区域点击之前输入的所有数据。
类似这样的东西(在表格 2 中):
private void center_Click(object sender, EventArgs e)
{
this.Hide();
Form1.region = "center";
Form1.show();
}
【问题讨论】:
-
您只需要订阅表单的 FormClosing 事件。当它触发并且 e.Cancel 为 false 时,您就知道它即将死亡,因此调用 this.Show() 是个好主意。请注意,FormClosed 听起来是一个更好的主意,但为时已晚,另一个应用程序的窗口可能会获得焦点。另请注意,您每天使用的应用程序并不多,它们通常有一个主窗口并在窗口内切换内容。就像 UserControl 可以帮到你。