| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7322 人关注过本帖
标题:[求助]打开窗体时判断是否已打开
只看楼主 加入收藏
xu51150jie
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-3-10
收藏
 问题点数:0 回复次数:17 
[求助]打开窗体时判断是否已打开
如果窗体已经关闭就打开一个新的,如果已经打开则显示已经打开的窗体
搜索更多相关主题的帖子: 窗体 判断 
2007-02-16 12:37
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
是否是MDI窗体

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-02-16 13:30
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
判断状态.
IsDisposed

飘过~~
2007-02-16 14:21
xu51150jie
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-3-10
收藏
得分:0 

不是MDI

就时一般的窗体

我断代码 但是出错

private Form aa;
if(aa.IsDisposed)
{
aa=new Form1();
aa.Show();
}
else
{
aa.Show();
}

未处理的“System.NullReferenceException”类型的异常出现在 班主任助手.exe 中。
其他信息: 未将对象引用设置到对象的实例。

2007-02-16 15:41
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 

用标记方法也很好,就是定义全局的标记(BOOL)变量,如果打开窗体就设置为TRUE,在关闭窗体事件中加入设置为FALSE。在AA=NEW FORM1();AA.SHOW之前判断数据是打开的(TRUE)就不打开新的了。


XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-02-16 16:27
xu51150jie
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-3-10
收藏
得分:0 

不明白挖

有没有代码看看

2007-02-16 19:48
lijia258
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-1-17
收藏
得分:0 

创建From2 myform2=new form2();
myform2.show();
这样判断
if (myform2==null)
{
myform2=new form2();
myform2.show();
}
else
{
myform2.Activate;

}

2007-02-17 15:49
yelang7
Rank: 1
等 级:新手上路
威 望:1
帖 子:265
专家分:0
注 册:2006-11-3
收藏
得分:0 
if (MdiChildren.Length != 0)
{
ActiveMdiChild.Close();
}
Form4 f4 = new Form4();
f4.MdiParent = this;
f4.Show();
上面的方法也能实现你要的那种效果的哟,你去试试的看哟!

新年快乐!!!!!!!!!!!!!

想象和行动一致,做最棒的 IT 人. http://yelang7.
2007-02-22 09:47
adsl0231
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2006-3-29
收藏
得分:0 

把要打开的窗口类做一个单一实例


2007-02-23 13:59
zhangbo0817
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-2-23
收藏
得分:0 

//该函数判断窗体是否存在,如果存在,显示该窗体并返回false,否则返回true
private bool FormNotExist(System.Windows.Forms.Form f)
{
bool flag = true;
if (f == null) return flag;

for (int i = 0; i < this.MdiChildren.Length; i++)
{
if (this.MdiChildren[i].Name == f.Name)
{
flag = false;
if (this.MdiChildren[i].WindowState == FormWindowState.Minimized)
{
this.MdiChildren[i].WindowState = FormWindowState.Normal;
}

if (this.MdiChildren[i].Visible == false)
{
this.MdiChildren[i].Show();
}

this.MdiChildren[i].Activate();
}
}

return flag;
}


//下面是调用该窗体的实例
//声明数据成员
private Form1 form1;


//调用
if (this.FormNotExist(form1))
{
form1 = new Form1();
form1.MdiParent = this;
form1.Show();
}

[此贴子已经被作者于2007-2-23 17:46:05编辑过]


2007-02-23 17:40
快速回复:[求助]打开窗体时判断是否已打开
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019510 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved