您的位置:首页 > 其它

检查子窗体中是否已经含有指定类型的窗体,如果有,则激活,如果没有则返回false!

2008-10-15 15:23 323 查看
在微软中文技术论坛中找到的一个防止重复打开窗体的函数,原出处为:

http://forums.microsoft.com/china/ShowPost.aspx?PostID=3872295&SiteID=15

原文转载如下:

以下是我以前写的一个方法,用来判断某一个类型的窗体是否已经有一个实例作为MDI子窗体显示了。因为通常MDI子窗体都是直接或间接从Form类型派生,而且每个子窗体一般都是不同的类型,因此这个函数可以达到效果。

private void SetupMenuItem_Click(object sender, EventArgs e)

{

    Setting f = new Setting();

    f.ShowDialog();

}

private bool CheckExistsForms(Type formType)

{

    foreach (Form f in this.MdiChildren)

    {

        if (f.GetType().Equals(formType))

        {

            if (FormWindowState.Minimized == f.WindowState)

                f.WindowState = FormWindowState.Normal;

            f.Activate();

            return true;

        }

    }

    /* 

    这里其实也可以利用formType,通过反射创建出窗体并显示 

    不过当前只是返回false而已 

    */

    return false;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  微软
相关文章推荐