四联光电智能照明论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1597|回复: 0

C#让窗体在启动时直接隐藏

[复制链接]
  • TA的每日心情
    开心
    2018-12-28 16:25
  • 817

    主题

    1556

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    14941
    发表于 2019-7-1 10:27:06 | 显示全部楼层 |阅读模式
    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个参数,在很多情况下都能满足要求,无需自己重新定义委托。

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Silian Lighting+ ( 蜀ICP备14004521号-1 )

    GMT+8, 2024-3-29 23:09 , Processed in 1.078125 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表