你好,游客 登录 注册 搜索
背景:
阅读新闻

C#之Winform中防止重复打开同一子窗体 - 小李专栏

[日期:2013-03-16] 来源:  作者: [字体: ]

我封装为了一个函数,放在MDI主窗体代码中即可调用

/// <summary>
        /// 在MDI父窗体中打开子窗体,判断是否已经重复打开
        /// 如果已经打开,则激活这个子窗体,否则返回false值。
        /// </summary>
        /// <param name="p_ChildrenFormText"></param>
        /// <returns></returns>
        private bool showChildrenForm(string p_ChildrenFormName)
        {
            int i;
            //依次检测当前窗体的子窗体
            for (i = 0; i < this.MdiChildren.Length; i++)
            {
                //判断当前子窗体的name属性值是否与传入的字符串值相同
                if (this.MdiChildren[i].Name == p_ChildrenFormName)
                {
                    //此子窗体是目标子窗体,激活之
                    this.MdiChildren[i].Activate();
                    return true;
                }
            }

调用示例

private void toolStripButton1_Click(object sender, EventArgs e)
        {
            if (!showChildrenForm("AccountForm"))
            {
                AccountForm eq_account = new AccountForm();//AccountForm为想检测的子窗体
                eq_account.MdiParent = this;
                eq_account.Show();
            }
        }






收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻