我们首先新建一个winform项目,那个form1.cs就先不动他,我们先再建立一个windows窗口,命名为splash,设置窗体属性如下:
ShowInTaskbar=false:因为是splash窗口,所以不用在任务栏显示了。然后拖动一个progressbar (这个是进度条),pictureBox控件和Timer控件到splash窗口如上图。
StartPosition=CenterScreen;
TransparencyKey =Black;
FormBorderStyle =None:我还没见过那个splash窗口有功能键呢
好了,我们现在回到form1这个窗口吧,在InitializeComponent 这个方法下面加入如下代码:
Thread th = new Thread(new ThreadStart(DoForm1));
th.Start();
Thread.Sleep(3000);
th.Abort();
Thread.Sleep(1000);
这里新建了一个线程,用于启动DoSplash这个方法(稍后提到),然后告诉他应该启动后持续3秒(3000ms=3s),然后退出,留出一秒钟来让程序收尾。
然后我们来看看DoSplash这个方法做了什么,首先,我们在form1中添加这个方法:
private void DoSplash()
{
splash sp = new splash();
sp.ShowDialog();
}
实例化splash窗口。
下面,我们开始设置splash这个窗口,首先,设置timer控件的Interval属性为1000,progressbar的step为1,maximum为3,好了,我们双击这个splash窗口,以便给他的form_load写入代码如下:
timer1.Enabled = true;
然后,设置timer1的Tick事件代码如下:
private void timer1_Tick(object sender, EventArgs e)
{
if (progressBarX1.Value < progressBarX1.Maximum)
{
progressBarX1.Step = 1;
progressBarX1.PerformStep();
}
}
接下来是pictureBox的处理,直接放置一个pictureBox,sizemode=autosize。
文章参考:https://www.cnblogs.com/longqi293/archive/2009/01/16/1377345.html