WinForm连续点击按钮只打开一次窗体

许多朋友,学习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();
            }
        }
原文地址:https://www.cnblogs.com/pingming/p/4335736.html