如何判断一个窗体是否被打开?

crecrecre 2008-12-25 08:10:21
有两个窗体A、B,在A里打开B,在A里想要再次打开B时,判断B是否已经被激活,如果已经实例化过,就把它显示在前面。
...全文
57 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ICanUseThisID 2008-12-25
  • 打赏
  • 举报
回复
  
//Form2 为窗口B
private void button1_Click(object sender, EventArgs e)
{
foreach (Form f in Application.OpenForms)
{
if (f is Form2)
{
if (f.WindowState != FormWindowState.Normal)
{
f.WindowState = FormWindowState.Normal;
}
f.Activate();
return;
}
}

Form2 f2 = new Form2();
f2.Show();
}
crecrecre 2008-12-25
  • 打赏
  • 举报
回复
不是在MDI窗体里,是两个独立的窗体互相调用。
freeboy827 2008-12-25
  • 打赏
  • 举报
回复

public class SingleTon
{
private form2 frm;
private object lockHelper;
public static Form2 GetForm()
{
if(frm == null)
{
lock(lockHelper)
{
if(frm==null)
frm = new form2();
}
}
return frm;
}
}
freeboy827 2008-12-25
  • 打赏
  • 举报
回复
用单例模式,就不用判断了

110,534

社区成员

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

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

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