不能打开已经打开的子窗体,并且始终只能打开一个子窗体
来源:互联网 发布:红米3打开网络没有网络 编辑:程序博客网 时间:2024/06/06 07:48
在网上查了很多关于“winfrom中关闭所有打开子窗体代码” 的类似搜索,但似乎都是在说:“不能让其重复打开同一个子窗体的代码”,一开始没太留意,以为是不是自己搜索的关键词不对或者是不是就没有这种可能,后来某一天,又开始查这个问题,还是同样的搜索结果,这时我的想法是那我就看看这种做法能不能让我有借鉴的地方呢?于是我就打开看了一下(也是博客园的一篇文章,在此表示感谢),果然受益匪浅,从中找到了问题的关键所在。后来经过自己的整合,做出了符合老师要求的代码:
下面这一段是博客园的:
//该功能是不能打开同一个子窗体,其实我感觉这样做是合理的,可是我的老师总是给我加了个难度
foreach (Form childrenForm in this.MdiChildren)
{
//检测是不是当前子窗体名称
if (childrenForm.Name == "frm_zuzhijigoutu")
{
//是的话就是把他显示
childrenForm.Visible = true;
//并激活该窗体
childrenForm.Activate();
childrenForm.WindowState = FormWindowState.Maximized;
return;
}
}
经过自己的整理做出符合要求的代码,这样你始终只能打开一个子窗体,并且性能达到最优。
foreach (Form childrenForm in this.MdiChildren)
{
//检测是不是当前子窗体名称
if (childrenForm.Name == "frm_zuzhijigoutu")
{
//是的话就是把他显示
childrenForm.Visible = true;
//并激活该窗体
childrenForm.Activate();
childrenForm.WindowState = FormWindowState.Maximized;
return;
}
if (childrenForm.Name != "frm_zuzhijigoutu")
{
childrenForm.Dispose();
childrenForm.Close();
}
}
我这里有个释放资源时不知道释放的干部干净,若有问题,大家邮箱联系我:zhangzeguang88@sina.com
- 不能打开已经打开的子窗体,并且始终只能打开一个子窗体
- 打开一个子窗体
- C#的MDI窗体判断子窗体是否已经打开
- 只打开一个子窗体
- C#主窗体控件打开一个子窗体,子窗体关闭后,再重新打开子窗体出现:无法访问已经释放的对象
- C#主窗体控件打开一个子窗体,子窗体关闭后,再重新打开子窗体出现:无法访问已经释放的对象
- WinForm程序或WPF程序只能打开一个子窗体 解决窗口关闭不能再打开的BUG
- 父窗体打开子窗体,子窗体在打开孙子窗体的传值问题
- 点击按钮打开子窗体
- winform 子窗体只能打开一次该怎么做
- C#限制MDI子窗体重复打开——C#判断窗体是否已经打开
- MFC 判断子窗体是不是已经打开,避免重复创建
- C#多次单击按钮只能打开一次子窗体及创建MDI子窗体
- 多次单击按钮只能打开一次子窗体及创建MDI子窗体
- 在父窗体中不能同时打开相同的子窗体
- showModelessDialog打开的子窗体刷新父窗体
- C# 实现MDI子窗体只打开一个(打开新的窗口,关闭其他窗口)
- 利用泛型对winform传值,并且只能打开一个同样的窗体
- VS05、VS08、VS10发布网站应用程序和发布站点
- [Vim]撤销与重做
- 相信明天
- Foreign Exchange uva 10763
- C++之多态和虚函数
- 不能打开已经打开的子窗体,并且始终只能打开一个子窗体
- 针对login部分编码混乱原因的分析
- openal教程
- noncopyable
- 在线编译器的使用
- 让你的C程序更有效率的10种方法
- ARM处理器之MMU和Cache
- 一年前的东西
- ubuntu教育网软件源