社区
C#
帖子详情
怎么样判断一个窗体已经打开?
qm0445
2003-10-20 02:26:45
怎么样判断一个窗体已经打开?就是比如我有个FORM2如果我有个CHICK事件是NEW FORM2我要怎么在CHICK中判断FORM2是不 是已经显示了要是不话就不重复事例化!要是没有者事例化显示FORM2!
...全文
72
24
打赏
收藏
怎么样判断一个窗体已经打开?
怎么样判断一个窗体已经打开?就是比如我有个FORM2如果我有个CHICK事件是NEW FORM2我要怎么在CHICK中判断FORM2是不 是已经显示了要是不话就不重复事例化!要是没有者事例化显示FORM2!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liqiang010
2003-10-24
打赏
举报
回复
DreamQWJ(慕容)的方法可用,我已经使用了,呵呵,
Hexudong1979
2003-10-24
打赏
举报
回复
版主说的,有可能不是多文档窗体,那,不就用不着了吗?
试试我那个,保证对的
DreamQWJ
2003-10-24
打赏
举报
回复
public bool setTop(string strFormName) {
for (int i=0;i<this.MdiChildren.Length ;i++) {
if (this.MdiChildren[i].Name.Equals(strFormName)) {
this.MdiChildren[i].Activate();
return true;
}
}
return false;
}
private void menuItem4_Click(object sender, System.EventArgs e)
{
bool bln ;
bln = false;
bln =setTop("Child");
if (bln == false) {
Child CForm = new Child(this);
CForm.Show() ;
}
}
setTop函数是用来判断窗口是否已经打开
True 已打开 ,把那个窗口放到最前面
Falee 没打开
liqiang010
2003-10-24
打赏
举报
回复
应该是window应用程序,cdbnzc(菜得不能再菜)的方法,出错,,还有没有其他好的方法判断,关注
xiangyangsunboy1
2003-10-23
打赏
举报
回复
干嘛要那么复杂,用句语句就搞定了呀
if (!Page.IsPostBack )
你的程序是window应用程序,还是WEB应用程序?
wangj2001
2003-10-23
打赏
举报
回复
public void showMdiChild(System.Windows.Forms.Form MdiChildForm)
{
int i;
Form[] frmForms = this.MdiChildren;
bool btrue=false;
Cursor.Current=Cursors.WaitCursor;
for (i=0; i<frmForms.Length; i++)
{
//窗体类实例转换成字符串时相同,说明是同一个实例
if (frmForms[i].ToString()==MdiChildForm.ToString())
{
MdiChildForm.Dispose(); //释放刚创建的子窗体的实例资源
this.MdiChildren[i].Activate(); //将已经创建的实例窗体激活
btrue=true;
}
}
//如果i等于窗体数组的长度,
//说明上面的循环完成后没有找到窗体实例与传过来的窗体实例相同,
//说明新创建的窗体没有被创建过,那么就把它显示出来
if(btrue==false)
{
MdiChildForm.MdiParent = this; //指定窗体的MDI父窗体
MdiChildForm.Show();
if(MdiChildForm.MaximizeBox ==false)
{
MdiChildForm.WindowState = FormWindowState.Normal ;
MdiChildForm.StartPosition =FormStartPosition.CenterScreen;
}
else
MdiChildForm.WindowState = FormWindowState.Maximized ;
}
Cursor.Current =Cursors.Default ;
}
Hexudong1979
2003-10-23
打赏
举报
回复
比如说判断frmIsOpen窗体是否打开,你可以在frmIsOpen先定义:public static frmIsOpen s_frmIsOpen; 然后在构造函数中写 s_frmIsOpen=this; 最后再在frmIsOpen_Close中写入s_frmIsOpen=null;
如果,现在是在frmCheck窗体中检测是否打开,你可以写
if(frmIsOpen.s_frmIsOpen==null)
{
MessageBox.Show("窗体没有打开");
}
else
{
MessageBox.Show("窗体已经打开");
}
我在我现在已经作万的系统中就这么作的,肯定对
fannyfang79
2003-10-23
打赏
举报
回复
if(myForm == null || myForm.IsDisposed)
{
Form2 myForm = new Form2();
}
running_su
2003-10-23
打赏
举报
回复
樓上的( yaoyaonet(绿洲) )的代碼行的嗎?
frm.Created會提示沒有實例化的吧
大户翁
2003-10-20
打赏
举报
回复
private Form frm = null;
private void button1_Click(object sender, System.EventArgs e) {
if (frm == null || ! frm.Created) frm = new Form2();
frm.Show();
}
ArLi2003
2003-10-20
打赏
举报
回复
http://www.zpcity.com/arli/doc/cs_4.htm
HNU
2003-10-20
打赏
举报
回复
楼上:
解释一下为什么要
if(frm.IsDisposed)
{
frm.Dispose();
frm=new New();
frm.MdiParent=this;
}
zhongwanli
2003-10-20
打赏
举报
回复
if(frm!=null)
{
if(frm.IsDisposed)
{
frm.Dispose();
frm=new New();
frm.MdiParent=this;
}
frm.Show();
}
else
{
frm=new New();
frm.MdiParent=this;
frm.Show();
}
这个已经试过,有用的。
laofei2000
2003-10-20
打赏
举报
回复
icedreamboy(REMING)的方法是最简单的!!
PlayIrrrr
2003-10-20
打赏
举报
回复
这样的话只有设标记了,重载它的构造和dispose函数
icedreamboy
2003-10-20
打赏
举报
回复
我前两天刚开始看C#,所以不一定对。。。
但简单的思路应该是这样的。。。
你试试设置一个Boolean类型的公共变量,
在窗体打开的时候置True,关闭的时候置False
然后就可以判断是不是打开了啊。
cdbnzc
2003-10-20
打赏
举报
回复
你可以做一个flag
bool flag;
在你得click事件中写
if (!flag)
{
Form2 myform = new Form2();
flag = true;
}
cdbnzc
2003-10-20
打赏
举报
回复
错了,是if(Form2 = Null)
{
Form2 myForm = new Form2();
}
cdbnzc
2003-10-20
打赏
举报
回复
if (Form2!= Null)
{
Form2 myForm = new Form2();
}
qm0445
2003-10-20
打赏
举报
回复
就是这样的我想在显示FORM2之前判断FORM2是否已经在显示了要是已经显示(就是已经在桌面上了)就不再显示FORM2反之显示!
加载更多回复(4)
C# 怎么
判断
一个
窗体
打开
问题运行时出现Form1,然后点击
一个
按钮,就会跳出
窗体
Form2.如果再点击的话还会跳出
一个
窗口(因为我用的是new form ,重新创建了
一个
form2,所以会一直跳。) 我要的效果就是只能出来
一个
,如果再点击的话就不会出现新的。那么这就要加
一个
if语句来
判断
了。代码展示:Form1 部分代码: public Form2 f2 =null;//创建
一个
子表实例 private void but
c#怎么样
判断
一个
窗体
是否已被
打开
?
假设要
打开
的窗口是Form4 1)在Form类中添加
一个
public static 变量. public static Form4 f4 = null; 2)
打开
Form4的代码这样写: if (Form4.f4 == null) { Form4.f4 = new Form4()
判断
一个
窗体
是否
已经
打开
Form frm1;private void btnOK_Click(object sender, EventArgs e){if (frm1 == null || frm1.IsDisposed) { frm1 = new KHXXFrm(); frm1.Show(); }
MFC
判断
子
窗体
是不是
已经
打开
,避免重复创建
MFC
判断
子
窗体
是否
已经
打开
,避免重复创建 在主
窗体
中,嵌入
一个
很多个子
窗体
,但是,每次只显示
一个
。 我的做法是,首先在主
窗体
头文件中定义子
窗体
对象,然后在单击显示按钮的时候,先
判断
子
窗体
是否
已经
被创建,如果创建了,则ShowWindow(SW_SHOW);将其他
已经
创建的
窗体
ShowWindow(SW_HIDE);如果没有创建,则先Create
窗体
并显示。 在MainDlg.h里面定
(转) c#中如何设计
一个
窗体
关闭,另
一个
窗体
打开
?
本文转自:http://hi.baidu.com/riddleleo/blog/item/79e122833584043cc75cc365.html form1
窗体
中有
一个
关闭按钮,单击这个按钮,form1
窗体
关闭了。form2
窗体
随之弹出来: 按照正常的在你form1的关闭
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章