8 个解决方案
#1
没明白什么是“太占资源”,是不是每个窗体都处理大量数据?
如果是凌乱了,可以使用this.Hide()和this.Show()
达到隐藏和显示的问题,如果希望确实的关闭窗体,可以委托主线程创建新窗体后自行关闭
如果是凌乱了,可以使用this.Hide()和this.Show()
达到隐藏和显示的问题,如果希望确实的关闭窗体,可以委托主线程创建新窗体后自行关闭
#2
我的就是需要每次窗口只运行一个,只运行当前的窗口,其他的关闭。不然的话,一直开着一下子就有了几十个窗口
#3
你说明一下窗体的关系,所有窗体都是同级的么?入口的主窗体是不能关的,关闭程序会结束。
你说的不是同一程序同一时间不能多次运行吧?
你说的不是同一程序同一时间不能多次运行吧?
#4
所谓的层次是否存在A创建B,B创建C这类。
#5
是的。除了主程序不能关闭,其他的A创建B B创建C的都是要关闭,当我打开了D前面的A,B,C窗口都要关闭的
#6
一预计该醒梦中人
#7
新建一个窗体后并显示后,把当前窗体给隐藏了。
new Form() show();
this.hide();
new Form() show();
this.hide();
#8
for (int i = Application.OpenForms.Count - 1; i >= 0 && i < Application.OpenForms.Count; --i)
{
Form frm = Application.OpenForms[i];
if (frm.GetType() != typeof(你想激活的窗体类) &&
frm != caller
)
{
frm.Close();
}
}
#1
没明白什么是“太占资源”,是不是每个窗体都处理大量数据?
如果是凌乱了,可以使用this.Hide()和this.Show()
达到隐藏和显示的问题,如果希望确实的关闭窗体,可以委托主线程创建新窗体后自行关闭
如果是凌乱了,可以使用this.Hide()和this.Show()
达到隐藏和显示的问题,如果希望确实的关闭窗体,可以委托主线程创建新窗体后自行关闭
#2
我的就是需要每次窗口只运行一个,只运行当前的窗口,其他的关闭。不然的话,一直开着一下子就有了几十个窗口
#3
你说明一下窗体的关系,所有窗体都是同级的么?入口的主窗体是不能关的,关闭程序会结束。
你说的不是同一程序同一时间不能多次运行吧?
你说的不是同一程序同一时间不能多次运行吧?
#4
所谓的层次是否存在A创建B,B创建C这类。
#5
是的。除了主程序不能关闭,其他的A创建B B创建C的都是要关闭,当我打开了D前面的A,B,C窗口都要关闭的
#6
一预计该醒梦中人
#7
新建一个窗体后并显示后,把当前窗体给隐藏了。
new Form() show();
this.hide();
new Form() show();
this.hide();
#8
for (int i = Application.OpenForms.Count - 1; i >= 0 && i < Application.OpenForms.Count; --i)
{
Form frm = Application.OpenForms[i];
if (frm.GetType() != typeof(你想激活的窗体类) &&
frm != caller
)
{
frm.Close();
}
}