C#中WinForm切换问题

来源:互联网 发布:超级seo外链工具 编辑:程序博客网 时间:2024/06/03 13:32

在一个项目中往往有多个Form,在Program.cs中指定了第一个窗体:

1 Application.Run(new MainForm());

 

记得在大学时候,曾经用C#写过《软件工程》项目,也是由多个窗体构成的,需要在主窗体和其他窗体之间切换。当时构想的用例是这样的,在第一个窗体中调用子窗体之后,隐藏主窗体,因此有:

1         private void elementToolStripMenuItem_Click(object sender, System.EventArgs e)2         {3             ElementForm elementForm = new ElementForm();4             elementForm.Show();5             this.Hide();6         }
复制代码http://www.xuehai.net

 

但当第二个窗体关闭,需要重新显示主窗体时候,怎么办,有几种办法?这似乎是一道不错的面试考题:

1 将this作为构造函数参数传给子窗体;2 在主窗体类中保存static属性的自身实例(想起工厂模式);3 给子窗体实例的ClosedEvent添加内容为this.show()的处理函数
复制代码

仔细想想,为什么非得将主窗体隐藏?如果只是想在子窗体返回之前禁用父窗体,可以用showdialog()(完全没有想到这个函数,然而这个函数应该是C#教程的标配,可见系统学习的重要,不要以为能通过google和MSDN查接口就轻易说自己掌握一门语言)。

原创粉丝点击