四联光电智能照明论坛

标题: C#让窗体在启动时直接隐藏 [打印本页]

作者: admin    时间: 2019-7-1 10:27
标题: C#让窗体在启动时直接隐藏
C#让窗体在启动时直接隐藏 - yzeng - 博客园 https://www.cnblogs.com/yzeng/p/3783155.html
最完美的解决办法,不闪烁。思路为:首先将窗体透明度设置为0,这样窗体在启动时就不显示了,然后再调用Hide将窗体隐藏再将其透明度设置为1即可。

其实就设置2个地方就行了。

1:设置窗体透明度为0



2:在load事件里使用委托调用Hide

//注意,这里很重要,使用BeginInvoke调用里面的代码将会在Load执行完毕后调用否则没办法实现因为Load的时候窗体还不显示,当然你可以用Shown事件
            this.BeginInvoke(new Action(() => {
                this.Hide();
                this.Opacity = 1;
            }));

解释一下Action,Action是.NET内部提供的一个无返回值、泛型的委托,共有16重载,分别是0个参数~15个参数,在很多情况下都能满足要求,无需自己重新定义委托。






欢迎光临 四联光电智能照明论坛 (http://5xhome.com/) Powered by Discuz! X3.2