很简单的问题:在主窗体中打开新窗体,如何使新窗体只打开一次呢?

javaxbenz 2004-09-21 11:08:04
我在按钮click事件代码中写的是这样的
if(ReportFormflag==0)
{
Form2 ReportForm=new Form2();
ReportForm.Show();
ReportFormflag=1;

}
else
{

// ReportForm.Activate();
}
else 部分该怎么写呢?
谢谢!
...全文
209 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
TT008 2004-10-08
  • 打赏
  • 举报
回复
Up
lqss20 2004-09-22
  • 打赏
  • 举报
回复
最简单的方法,用ShowDialog()方法显示,就只能打开一个窗体,打开一次的话,你可以加一个计数器,<>0则菜单不可用
pjuner 2004-09-22
  • 打赏
  • 举报
回复
for(int i=0;i<this.MdiChildren.Length;i++)
{
if(this.m_frm==this.MdiChildren[i])
{
this.m_frm.Activate();
return;
}
}

this.m_frm= new ChildForm();
this.m_frm.MdiParent = this;
this.m_frm.Show();
rowei 2004-09-22
  • 打赏
  • 举报
回复
在主窗体中加一个针对新窗体的静态变量,
新窗体打开和关闭时操作主窗体的静态变量
jiezhi 2004-09-21
  • 打赏
  • 举报
回复
private void OpenForm(string formName)
{
foreach(Form f in this.MdiChildren)
{
if (f.GetType() == Type.GetType(formName))
{
f.Focus();
return;
}
}
Form frm = (Form)Activator.CreateInstance(Type.GetType(formName));
frm.MdiParent = this;
frm.Show();
}
mixihello 2004-09-21
  • 打赏
  • 举报
回复
ding
brightheroes 2004-09-21
  • 打赏
  • 举报
回复
Form2 ReportForm = null;

..............


if(ReportForm == null)
{
ReportForm=new Form2();
}
ReportForm.ShowDialog();
s198127 2004-09-21
  • 打赏
  • 举报
回复
private PsData psData = new PsData();

........
if (psData.Created)
{
/// 已经存在该窗口
psData.Activate();
psData.Location = new Point(0,0);
psData.MdiParent = this;
psData.Show();
}
else
{
/// 不存在或者已经被关闭,重新构建
psData = new PsData();
psData.MdiParent = this;
psData.Show();
}
...........

110,534

社区成员

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

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

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