C# 做个Splash(启动屏幕)

现在有好些splash的做法,我的比较简单,而且如果你的素材不错的话,应该可以做出很好的效果,这个教程不依赖任何第三方控件,直接使用vs的就行了,下面这个是预览图:C# 做个Splash(启动屏幕)

 

正文开始:

我们首先新建一个winform项目,那个form1.cs就先不动他,我们先再建立一个windows窗口,命名为splash,设置窗体属性如下:

ShowInTaskbar=false:因为是splash窗口,所以不用在任务栏显示了。然后拖动一个progressbar 和Timer控件到splash窗口如上图。

StartPosition=CenterScreen;

TransparencyKey =Black;

FormBorderStyle =None:我还没见过那个splash窗口有功能键呢

好了,我们现在回到form1这个窗口吧,在InitializeComponent 这个方法下面加入如下代码:

 

C# 做个Splash(启动屏幕)
Thread th = new Thread(new ThreadStart(DoSplash));
            th.Start();
            Thread.Sleep(3000);
            th.Abort();
            Thread.Sleep(1000);

 

这里我们新建了一个线程,用于启动DoSplash这个方法(稍后提到),然后告诉他应该启动后持续3秒(3000ms=3s),然后退出,留出一秒钟来让程序收尾。

然后我们来看看DoSplash这个方法做了什么,首先,我们在form1中添加这个方法:

 

C# 做个Splash(启动屏幕)
private void DoSplash()
        {
            splash sp = new splash();
            sp.ShowDialog();
        }

 

很简单,就是实例化那个splash窗口。

下面,我们开始设置splash这个窗口,首先,设置timer控件的Interval属性为1000,progressbar的step为1,maximum为3,好了,我们双击这个splash窗口,以便给他的form_load写入代码如下:

 

C# 做个Splash(启动屏幕)
timer1.Enabled = true;

 

然后,设置timer1的Tick事件代码如下:

 

C# 做个Splash(启动屏幕)
private void timer1_Tick(object sender, EventArgs e)
        {
            if (progressBarX1.Value < progressBarX1.Maximum)
            {
                progressBarX1.Step = 1;
                progressBarX1.PerformStep();
            }
        }

 

至此,一个简单的Splash窗口就做好了,是不是很简单呢?

引用:https://www.cnblogs.com/longqi293/archive/2009/01/16/1377345.html

上一篇:解决白屏、黑屏问题,优化欢迎页显示


下一篇:解决关于Splash渲染问题