winform 窗口加载时闪动问题
如题,我做了一个c# winform的小程序,需要几个窗口来回显示,并且要全屏.
全屏代码
if (this.FormBorderStyle == FormBorderStyle.None)
{
this.FormBorderStyle = FormBorderStyle.FixedSingle;
this.WindowState = FormWindowState.Normal;
}
else
{
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
}
这段代码我放到了 form LOAD里面.
因为在每个窗口之间又需要返回上一级,或返回最顶级.(分了三级)
返回上一级窗口 this.Close() 就可以了.
返回最顶级
第一种
FormCollection fc = System.Windows.Forms.Application.OpenForms;
fc["第二级名称"].Close();
this.Close(); //第三级 当前窗口关闭
第二种
try
{
FormCollection fc = System.Windows.Forms.Application.OpenForms;
for (int i = 0; i < fc.Count; i++)
{
if (fc[i].Name != "Main") //Main是我最顶级窗口
{
fc[i].Close();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
但是在加载窗口(可能也在关闭其它窗口时候)屏幕非常快的闪.这样效果很差.
我怀疑有几种可能
1.窗体加载呈现出来的时候闪一下,然后在load事件时候执行全屏代码,闪一下.这样,一个加载窗口就闪动了两次.
2.窗口在加载的时候,我会关闭其它窗口,这样也就造成了闪烁..
现在我想解决的问题,就是如何不让屏幕闪,太影响效果了...不知道如何做.思路没有了.
也想问下,winform是否有webform一样的窗口加载过渡效果..这样,我就可以用另一种方式,来遮盖闪这个问题.
请指点.谢!