许多朋友,学习C#时,制作WinForm小程序总会有一个问题,如果我们在父窗体设置的是点击一个按钮,打开一个子窗体,连续点击总会连续出现一样窗体,可是我们有时只想打开一次窗体,怎么办?
呵呵,我来方法告诉大家,希望对大家有所帮助,当然,我理解初学者的心情,能看懂,保证代码可用,希望对你们有帮助。
//设置只打开一次公用方法
public static int cxypx(Form frmMdiFather, string strMdiChild)
{
int bReturn = -1;
for (int i = 0; i < frmMdiFather.MdiChildren.Length; i++)
{
if (frmMdiFather.MdiChildren[i].Name == strMdiChild)
{
frmMdiFather.MdiChildren[i].BringToFront();
bReturn = i;
break;
}
}
return bReturn;
}
//然后再在你的按钮单击事件中加入以下代码:
private void 添加账单ToolStripMenuItem_Click(object sender, EventArgs e)
{
int index = cxypx(this, "ZD");//记住,这里的ZD是子窗体的名字
if (index == -1)
{
ZD tjzb = new ZD();//tjzb是子窗体的一个实例,就这连个地方改改就可以了
tjzb.MdiParent = this;
tjzb.Show();
}
else
{
this.MdiChildren[index].Show();
}
}