MDI窗体程序中主窗体有N个子窗体,请问实例化问题?在线等
首先主窗体主要代码:
private void Menu_Click(object sender, EventArgs e)
{
WinOperationClass P_Menu = new WinOperationClass(); //声明对WinForm窗体进行操作的类对象
P_Menu.ShowForm((ToolStripMenuItem)sender, this); //调用类中的方法,完成对窗体中ToolStripMenuItem控件相应项的操作
}
涉及到的类主要代码:winoperationclass
public void ShowForm(ToolStripMenuItem control, Form form)
{
switch (control.Tag.ToString())
{
case "1":
EmployeeInfo employee = new EmployeeInfo();
employee.MdiParent = form;
employee.StartPosition = FormStartPosition.CenterScreen;
employee.Show();
break;
case "2":
CompanyInfo company = new CompanyInfo();
company.MdiParent = form;
company.StartPosition = FormStartPosition.CenterScreen;
company.Show();
break;
case "3":
CustomerInfo customer = new CustomerInfo();
customer.MdiParent = form;
customer.StartPosition = FormStartPosition.CenterScreen;
customer.Show();
break;
case "4":
Login login = new Login();
login.StartPosition = FormStartPosition.CenterScreen;
login.ShowDialog();
form.Dispose(); //释放窗体资源
break;
EmployeeInfo部分代码:
namespace CyberCafe.BaseRecord
{
public partial class EmployeeInfo : Form
{
public EmployeeInfo()
{
InitializeComponent();
}
当我点主窗口的其中一个菜单的时候,比如传的变量是1,那么执行到case 1 ,这里。
现问题是:1、结决case 1 这个窗口再次实例化问题
2、结决,当我点击case 2,的时候,能判断是否有其他子窗口,如果有,则自动关闭其他子窗口,并且转到这个case 2新的窗口上
本人是新手,请把代码写全,并且告诉本人加到哪里,在非常感谢。