winform 下如何避免窗体重复打开

1122hailey 2005-11-28 04:12:44
Form2 aa=new Form2();
aa.Show();
这样的效果是每执行一遍就代开一个Form2,我做了处理:Form2 aa;
if(aa==null)
{
aa=new Form2();
aa.Show();
}
结果aa被关闭后,就再也打不开了
...全文
446 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bing_shan 2005-11-28
  • 打赏
  • 举报
回复
up
1122hailey 2005-11-28
  • 打赏
  • 举报
回复
楼上的可以,不过得在Form2.Closing里面加上formCount--;
LuckyJan 2005-11-28
  • 打赏
  • 举报
回复
if(aa==null) //未创建,创建之
{
aa=new Form2();
}

aa.Show(); //打开创建过的窗体
s5689412 2005-11-28
  • 打赏
  • 举报
回复
在Form中声明一个静态变量,用来记录Form的个数,这样可以随意控制Form数量。

class Form2
{
public static int formCount = 0;
public Form2()
{
formCount++;
}
}

在其他地方进行判断:

if (Form2.formCount < 1)
{
Form2 aa=new Form2();
aa.Show();
}
bqlhome 2005-11-28
  • 打赏
  • 举报
回复
如果按你這種方法的話,可以在Form_Unload中加入 form.Dispose();

最好還是用遍歷方法啦!

111,125

社区成员

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

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

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