"普通窗体"成为"父窗体"后怎样限制激活窗体的数量只为 1 ???请高手们帮帮忙.

mikismith 2009-12-16 03:22:15
我没有使用C#中MDI父窗体,而把普通窗体通过(d.owner=this;)设为父窗体,但控制不了窗体打开数量,同一个窗体可以打开无数次,请求各位高手帮帮手.限制激活窗体的数量只为一.
...全文
76 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
liherun 2009-12-18
  • 打赏
  • 举报
回复
添加一个List<string> openform
Form2 f2
show之前 看看string里面有没有f2
没有的话f2.show()
openform.add("f2");
tianliang1 2009-12-18
  • 打赏
  • 举报
回复
....
mikismith 2009-12-18
  • 打赏
  • 举报
回复
那可以做到除主窗体外,每一个子窗体都可激活一个,即在父窗体内可以同时打开好几个子窗体,可以实现吗?
nashina 2009-12-16
  • 打赏
  • 举报
回复
设置一个静态的标志,bool型或者整型都可以;
我都是用这种简单的方法
mjay0210 2009-12-16
  • 打赏
  • 举报
回复
懒到家了 哎
liherun 2009-12-16
  • 打赏
  • 举报
回复
if (Application.OpenForms.Count == 1)
{
//新开窗体
}

这个
你去把以前发的帖子给结了
mikismith 2009-12-16
  • 打赏
  • 举报
回复
除主窗体外,限制激活窗体的数量只为一哦!
mjay0210 2009-12-16
  • 打赏
  • 举报
回复
你告诉他 OpenForms集合 我感觉应该就够鸟
liherun 2009-12-16
  • 打赏
  • 举报
回复
if (Application.OpenForms["form2"]== null)
{
//新开窗体
}
mjay0210 2009-12-16
  • 打赏
  • 举报
回复
季度里维斯 大果
窗体也可能有多个啊。。。所以 用Count 应该不行啊。

另外 楼主你的结贴率谁还敢回你的帖啊
mjay0210 2009-12-16
  • 打赏
  • 举报
回复
Mutex 类 可以用

不过既然是子窗体的问题 你可以给子窗体 类设置个静态 bool值
然后load方法里 bool改为false 如果是false 就close
over
liherun 2009-12-16
  • 打赏
  • 举报
回复
楼主去把以前的帖子给结了吧
liherun 2009-12-16
  • 打赏
  • 举报
回复
打开前判断
if (Application.OpenForms.Count == 1)
{
//新开窗体
}
mjay0210 2009-12-16
  • 打赏
  • 举报
回复
注册一个唯一标示 就行鸟 我给你找下

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧