mir*_*ych 60 c# splash-screen winforms
我需要在应用程序启动时显示启动画面几秒钟.有人知道如何实现这个吗?
非常感谢您的帮助.
Kei*_*thS 80
首先,将您的启动画面创建为无边框,不可移动的形式,并在其上放置图像,设置为最初显示在屏幕中央,按照您想要的方式着色.所有这一切都可以在设计师中设定; 具体来说,你想:
然后,您需要决定在哪里展示它以及在哪里解雇它.这两项任务需要在程序的主启动逻辑的相反侧进行.这可能在您的应用程序的main()例程中,或者可能在您的主应用程序表单的Load处理程序中; 无论您在何处创建大型昂贵的对象,从硬盘驱动器中读取设置,并且通常需要很长时间才能在主应用程序屏幕显示之前进行幕后操作.
然后,您所要做的就是创建表单实例,Show()它,并在启动初始化时保留对它的引用.加载主窗体后,关闭()它.
如果您的启动画面上有动画图像,那么窗口也需要"双缓冲",您需要绝对确保所有初始化逻辑都发生在GUI线程之外(这意味着您不能拥有主屏幕)在mainform的Load处理程序中加载逻辑;您必须创建BackgroundWorker或其他一些线程例程.
以下是一些准则步骤......
如果您遇到困难,请回过头来询问有关您问题的更具体问题
小智 5
创建闪屏的简单易用的解决方案
现在在计时器中设置计时器:
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Increment(1);
if (progressBar1.Value == 100) timer1.Stop();
}
Run Code Online (Sandbox Code Playgroud)
添加新表单使用名称"FORM-1"并在FORM 1中使用以下命令.
注意:Splash表单在打开form1之前有效
添加此库
using System.Threading;
Run Code Online (Sandbox Code Playgroud)创造功能
public void splash()
{
Application.Run(new splash());
}
Run Code Online (Sandbox Code Playgroud)在初始化中使用以下命令,如下所示
public partial class login : Form
{
public login()
{
Thread t = new Thread(new ThreadStart(splash));
t.Start();
Thread.Sleep(15625);
InitializeComponent();
enter code here
t.Abort();
}
}
Run Code Online (Sandbox Code Playgroud)http://solutions.musanitech.com/c-create-splash-screen/