Может быть что-то подобное может помочь вам
Form frmToCreate;
String strClassName=typeof(FormToCreate).Name
frmToCreate = GetForm(strClass);
if(frmToCreate == null)
{
//create the form here
}
frmToCreate.MdiParent = this; //supposing you are inside of the mainwindow (MDI window)
frmToCreate.Visible = true;
//other code goes here
где GetForm будет что-то вроде этого
public Form GetForm(String type)
{
int i;
Form[] children = this.MdiChildren; //or mdiwindow.MdiChildren
for (i = 0; i < children.Length; i++)
{
if (children[i].GetType().Name == type)
{
return children[i];
}
}
return null;
}
Если это просто дело игры с MdiChildren
собственности.
Как вы примените этот шаблон в коде C#/winform, чтобы удовлетворить требование автора? –
Если это требование открывается только одним экземпляром в любое время и открыть новый, если никто не открыт, это будет работать очень хорошо - я действительно сделал это сам. – SilverSkin