MDIParent (frmMain) форма - это главное окно с полосой меню с 3 пунктами меню, а именно, frmSales, frmProducts, frmCustomers.каждая из них является формой, которую мне нужно называть модальной, а не создавать экземпляр каждый раз, когда она вызывается.Я успешно сделал это, однако я хотел бы создать метод, который принимает имя формы в качестве параметра, но мне также нужно вызвать соответствующее событие FormClose для любой формы, которую я передаю в него.
Это кодВ frmMain я пытаюсь свести к минимуму, просто вызывая метод каждый раз, когда выбран элемент полосы меню. Просто чтобы быть ясно, код, который у меня работает, работает, как задумано, но я хотел бы увидеть метод, созданный для этого.
Следующее набрано в блокноте из памяти, поэтому могут быть некоторые ошибки, но вы все равно поймете:
frmSales SalesForm;
frmProducts ProductsForm;
frmCustomers CustormersForm;
private void ShowChildFormModal (Form myFormName)
{
if(myFormName = null)
{
myFormName= new myFormName(); // is this correct ?
myFormName.MDIParent = this; // referring to frMain - MDIParent
// now i need to call the OnClosed Event for the form in the
// parameter so i can set it to null :
myFormName_FormClose += EventHandler (FormClosed, EventArgs)
myFormName.Show()
}
else
{
myFormName.Activate();
}
}
private void frmSales_OnClosed (object sender, EventArgs e)
{
SalesForm = null;
}
private void frmProducts_OnClosed (object sender, EventArgs e)
{
ProductsForm = null;
}
private void frmCustomers_OnClosed (object sender, EventArgs e)
{
CustomersForm = null;
}