您的位置:首页 > 编程语言 > C#

C# Winform同一子窗体只允许打开一次

2015-11-05 16:13 351 查看
最近在写一个小程序,遇到子窗口打开多次的情况,通过查找找到了解决办法,但是有写不尽人意,比如对子窗体最小化时的处理。

因此进行了优化得到如下代码,目前测试可能遇到的情况都完美解决,包括子窗体最小化:

Form test = Application.OpenForms["about"];  //查找是否打开过about窗体 

if ((test == null) || (test.IsDisposed)) //如果没有打开过

{

    about aboutus = new about();

    aboutus.Show();   //打开子窗体出来

}

else

{

    test.Activate(); //如果已经打开过就让其获得焦点  

    test.WindowState = FormWindowState.Normal;//使Form恢复正常窗体大小

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