如何为我的以下代码创建一个函数,这样我就不必编写以下整个代码来使表单用作 MDICHILD 表单。
Students stu = null;
private void studentsToolStripMenuItem1_Click(object sender, EventArgs e)
{
if (stu == null || stu.IsDisposed)
{
stu = new Students();
stu.MdiParent = this;
stu.Show();
}
else
{
stu.Activate();
}
}
最佳答案
您的代码没有任何问题。你可以通过一些反射(reflection)让它变干:
public Form CreateMdiChild(Type type, bool singleton) {
if (singleton) {
foreach (var child in this.MdiChildren) {
if (child.GetType() == type) {
child.WindowState = FormWindowState.Normal;
child.Show();
child.Activate();
return child;
}
}
}
Form form = (Form)Activator.CreateInstance(type);
form.MdiParent = this;
form.Show();
return form;
}
用法:
CreateMdiChild(typeof(Students), true);
关于c# - 如何为 mdi 容器创建函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9758552/