启动屏幕c#

启动屏幕c#,c#,screen,splash-screen,C#,Screen,Splash Screen,我在c#方面不太在行,我做一些小项目,但现在我遇到了一个问题。我做了一个闪屏。一切正常。我用一个菜单创建了一个项目,在菜单中你们可以选择不同的变体:加密、解密和退出。在每一个按钮中,我都有一个“主页”按钮。当我按下按钮时,在每个菜单中,每次出现启动屏幕时,我都需要等待。真烦人。如何设置为只工作一次(仅在启动程序时) 还有一个问题。徽标出现后,程序将最小化。有什么建议吗?如果您只想在程序启动时显示启动屏幕,请打开您的program.cs并在静态类程序的“计数窗体运行”部分中添加计数器 公共静态整数

我在c#方面不太在行,我做一些小项目,但现在我遇到了一个问题。我做了一个闪屏。一切正常。我用一个菜单创建了一个项目,在菜单中你们可以选择不同的变体:加密、解密和退出。在每一个按钮中,我都有一个“主页”按钮。当我按下按钮时,在每个菜单中,每次出现启动屏幕时,我都需要等待。真烦人。如何设置为只工作一次(仅在启动程序时)


还有一个问题。徽标出现后,程序将最小化。有什么建议吗?

如果您只想在程序启动时显示启动屏幕,请打开您的program.cs并在静态类程序的“计数窗体运行”部分中添加计数器

公共静态整数计数器=0

并按如下方式编辑代码:

public Meniu()
        {
            InitializeComponent();
            Program.counter++;
            if (Program.counter == 1) // If first run minimize and show splash screen
            {
                this.WindowState = FormWindowState.Minimized;
                Thread t = new Thread(new ThreadStart(SplashStart));
                t.Start();
                Thread.Sleep(5000);
                t.Abort();
            }
            else // If not first run
            {
                this.WindowState = FormWindowState.Normal;
            }
        }

        public void SplashStart()
        {
           Application.Run(new LOGO());
        }

您可以在第一次启动时设置运行时标志,并为下次启动设置时间戳,以指示您的应用程序已在运行,无需显示初始屏幕,它只需在不同功能之间切换

您还可以从
Microsoft.VisualBasic.ApplicationServices
命名空间中使用
WindowsFormsApplicationBase
。它在Winforms项目中可用。这个基类提供了将启动屏幕添加到应用程序中的简单方法。

这太傻了。只有当你不得不隐藏你的UI启动缓慢的事实时,你才需要一个启动屏幕。你必须隐藏的唯一一件事是,你在代码中加入了一个Thread.Sleep()调用,它会完全休眠太久。删除该声明。现在删除启动屏幕,因为你不再需要它了。如果您想让用户知道您是谁,请添加“帮助+关于”对话框。
public Meniu()
        {
            InitializeComponent();
            Program.counter++;
            if (Program.counter == 1) // If first run minimize and show splash screen
            {
                this.WindowState = FormWindowState.Minimized;
                Thread t = new Thread(new ThreadStart(SplashStart));
                t.Start();
                Thread.Sleep(5000);
                t.Abort();
            }
            else // If not first run
            {
                this.WindowState = FormWindowState.Normal;
            }
        }

        public void SplashStart()
        {
           Application.Run(new LOGO());
        }