【MDI窗体】如何保证一个子窗体只有一个实例?

Radar2006 2006-05-15 01:24:43
我只知道Delphi中这样:
procedure TfrmMain.N4Click(Sender: TObject);
begin
if not Assigned(frmShi) then
frmShi:= TfrmShi.Create(Application);
frmShi.Show;
end;

在C#中该怎样写呢? 求救~
...全文
352 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhzh999 2006-06-25
  • 打赏
  • 举报
回复
每个子窗体都设为单件模式
Radar2006 2006-05-15
  • 打赏
  • 举报
回复
copico(一路向北) :
你的方法有点问题吧,
我要有多个子窗体时,
是不是要增加多个bool变量?

感谢支持!

从不签到 2006-05-15
  • 打赏
  • 举报
回复
Frm.ShowDialog();
Radar2006 2006-05-15
  • 打赏
  • 举报
回复
呵呵,Knight94(愚翁)老大来了!

你的blog已收藏,待我慢慢研究~

谢谢,问题解决!揭贴!

Knight94 2006-05-15
  • 打赏
  • 举报
回复
reference:
http://blog.csdn.net/knight94/archive/2006/03/16/626341.aspx
Knight94 2006-05-15
  • 打赏
  • 举报
回复
//Add a new child window if it doesn’t exist; else set focus on it

private void AddMDIChild()

{

// MyChildForm is the one I'm looking for

MDIChild myMDIChild = null;

foreach(Form f in this.MdiChildren)

{

if(f is MDIChild)

{

// found it

myMDIChild = (MDIChild) f;

break;

}

}



if( myMDIChild != null)

{

myMDIChild.Show();

myMDIChild.Focus();

}

else

{

myMDIChild = new MDIChild();

myMDIChild.MdiParent = this;

myMDIChild.Show();

myMDIChild.Focus();

}

}
copico 2006-05-15
  • 打赏
  • 举报
回复
private bool tmdi1;

if( tmdi1 )
{
Form2 frm = new Form2();
frm.mdiParent=this;
frm.show()
tmdi1=true;
}

110,539

社区成员

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

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

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