点击菜单的某项弹出窗口,窗口不关闭,再次点击菜单的这项,还弹出窗口
请问如何判断窗口已打开,点击就不打开窗口了。
9 个解决方案
#1
定义该窗口为全局变量,执行new操作前先判断该变量是否为空
类似如下代码
另外,关闭该窗口时记得将该变量设置为null
类似如下代码
private Form form;
public void btn_click()
{
//判断该窗口是否已经打开
if(form == null)
{
//实例化新窗口,并显示
}
}
另外,关闭该窗口时记得将该变量设置为null
#2
你让弹出的窗口 ShowDialog() 就可以了。
#3
软件的菜单有很多需要弹出窗口
如果这样,需要很多全局变量,不合适。
#4
有的我使用的form.showdialog()
还有很多不能用这个
要用form.show()
还是不行
#5
你可以遍历窗体,判断是否已经存在
#6
写成公用方法。这个的确需要每个窗口对象,没有合适不合适。
#7
或者简单点
弄个全局的List<Form>
打开一个就加进list里
然后再点击的时候判断里面是否已经有这个窗体,如果有,是否已经被释放,释放就移除掉
弄个全局的List<Form>
打开一个就加进list里
然后再点击的时候判断里面是否已经有这个窗体,如果有,是否已经被释放,释放就移除掉
#8
Form1 form;
foreach (Form frm in Application.OpenForms)
{
if (frm.Name ==form.Name)
{
frm.Activate();
}
else
{
// 实例化,并show
form = new Form1();
form.Show();
}
}
#9
这个问题,基本解决了.
方法:
感谢你们的回复。
方法:
Form1 form=new Form1();
foreach(form frm in Application.openforms)
{
if(frm.name==form.name)
{
frm.activate();
return;
}
}
form.show();
感谢你们的回复。
#1
定义该窗口为全局变量,执行new操作前先判断该变量是否为空
类似如下代码
另外,关闭该窗口时记得将该变量设置为null
类似如下代码
private Form form;
public void btn_click()
{
//判断该窗口是否已经打开
if(form == null)
{
//实例化新窗口,并显示
}
}
另外,关闭该窗口时记得将该变量设置为null
#2
你让弹出的窗口 ShowDialog() 就可以了。
#3
定义该窗口为全局变量,执行new操作前先判断该变量是否为空
类似如下代码
private Form form;
public void btn_click()
{
//判断该窗口是否已经打开
if(form == null)
{
//实例化新窗口,并显示
}
}
另外,关闭该窗口时记得将该变量设置为null
软件的菜单有很多需要弹出窗口
如果这样,需要很多全局变量,不合适。
#4
你让弹出的窗口 ShowDialog() 就可以了。
有的我使用的form.showdialog()
还有很多不能用这个
要用form.show()
还是不行
#5
你可以遍历窗体,判断是否已经存在
#6
定义该窗口为全局变量,执行new操作前先判断该变量是否为空
类似如下代码
private Form form;
public void btn_click()
{
//判断该窗口是否已经打开
if(form == null)
{
//实例化新窗口,并显示
}
}
另外,关闭该窗口时记得将该变量设置为null
软件的菜单有很多需要弹出窗口
如果这样,需要很多全局变量,不合适。
写成公用方法。这个的确需要每个窗口对象,没有合适不合适。
#7
或者简单点
弄个全局的List<Form>
打开一个就加进list里
然后再点击的时候判断里面是否已经有这个窗体,如果有,是否已经被释放,释放就移除掉
弄个全局的List<Form>
打开一个就加进list里
然后再点击的时候判断里面是否已经有这个窗体,如果有,是否已经被释放,释放就移除掉
#8
Form1 form;
foreach (Form frm in Application.OpenForms)
{
if (frm.Name ==form.Name)
{
frm.Activate();
}
else
{
// 实例化,并show
form = new Form1();
form.Show();
}
}
#9
这个问题,基本解决了.
方法:
感谢你们的回复。
方法:
Form1 form=new Form1();
foreach(form frm in Application.openforms)
{
if(frm.name==form.name)
{
frm.activate();
return;
}
}
form.show();
感谢你们的回复。