介绍
SplashScreen,就是平时我们说的溅射屏幕。当程序初始化时间较长可以加上这个处理,当程序都执行完成后再关闭。
使用背景
项目中使用这个的情况是,窗体加载自定义控件的时候会闪烁,网上大多数答案都是清除背景啊,或者双缓存的都没用,所以选择加这个来增加用户体验。
如何使用
1,从NuGet中下载安装SplashScreen
2,找到初始化的Main窗体,添加如下代码(此处为核心代码);
namespace HPECP_Winform
{
public partial class MainForm : Form
{
public MainForm()
{
SplashScreen.Show(typeof(SplashForm));//需要展示的form窗体(核心代码)
InitializeComponent();
//...... 此处加载耗时的代码
Thread.Sleep(5000);
SplashScreen.Close();//(核心代码)
}
}
}
3,添加需要弹出的窗体代码;
自己填了了一个demo,感兴趣可以下载看看
https://download.csdn.net/download/weixin_46867655/12883666
------------------------------------------------------我的程序用了这个仍然有闪烁的情况-------------------------------------
下面改动可能改变了使用这个的初衷,但是暂时解决了问题
public Main()
{
InitializeComponent();
MainParent_Load2();
//加载页面控件时,另起线程来加载弹出窗体;弹出窗体是全屏的,可以遮住闪烁
Thread t = new Thread(tt);
t.Start();
}
public void tt()
{
SplashScreen.Show(typeof(frmSplash));
Thread.Sleep(5000);
SplashScreen.Close();
}
---------------------------参照帖子---------------------