一尘不染

如何在Windows Forms应用程序中构建启动画面?

c#

我需要在应用程序启动时显示启动屏幕几秒钟。有人知道如何实现吗?

非常感谢您的帮助。


阅读 279

收藏
2020-05-19

共1个答案

一尘不染

首先,将启动屏幕创建为无边界,不可移动的形式,并在其上放置图像,并设置为最初显示在屏幕中央,并以所需的方式上色。所有这些都可以在设计人员内部进行设置。具体来说,您要:

  • 将窗体的ControlBox,MaximizeBox,MinimizeBox和ShowIcon属性设置为“ False”
  • 将StartPosition属性设置为“ CenterScreen”
  • 将FormBorderStyle属性设置为“无”
  • 将窗体的MinimumSize和MaximumSize设置为其初始大小。

然后,您需要确定在哪里显示它以及在何处关闭它。这两个任务需要在程序的主要启动逻辑的相对侧进行。这可能在您的应用程序的main()例程中,也可能在您的主应用程序窗体的Load处理程序中;无论您要创建昂贵的大型对象,从硬盘驱动器读取设置,通常在主应用程序屏幕显示之前,要花很长时间在幕后做一些事情。

然后,您要做的就是创建表单的实例Show(),并在执行启动初始化时保留对其的引用。一旦您的主窗体已加载,关闭()它。

如果启动屏幕上将显示动画图像,则窗口也将需要“双缓冲”,并且您需要绝对确保所有初始化逻辑都在GUI线程之外进行(这意味着您不能拥有主线程)在主窗体的Load处理程序中加载逻辑;您必须创建一个BackgroundWorker或其他线程化例程。

2020-05-19