如何在Winform中显示欢迎屏幕?

时间:2011-06-22 10:23:54

标签: c# .net winforms

我正在做win form项目。(C#)。在那个项目中,我愿意添加欢迎屏幕。所以我创建了一个欢迎屏幕。但是,它希望显示一些代理并自动关闭并打开登录屏幕。

System.Threading.Thread.Sleep(1500);
            LogIn n = new LogIn();
            n.Show();

我在显示的表单中尝试此代码,加载,激活事件。没用。任何人都知道该怎么做?。

My welcome screen -

3 个答案:

答案 0 :(得分:4)

Here's a tutorial解释如何制作启动画面。

答案 1 :(得分:2)

在Program.cs中为启动画面添加一行。在启动画面中运行计时器并关闭表单。

  

private static void Main()           {

        Application.EnableVisualStyles();

        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new FSplash()); // This is your splash form << added
        Application.Run(new FMain());
    }

答案 2 :(得分:1)

在我看来,您无法在.NET中为.NET应用程序创建启动画面:

启动画面的目的是让用户远离等待时间,直到应用程序加载,启动和初始化为止。

由于.NET应用程序本身已经有一些启动时间,因此在此期间没有可用的启动画面。

我的解决方案

所以在我的应用程序中,我是按照以下方式进行的:

  1. 编写一个小型的原生C ++应用程序。
  2. 在C ++应用程序启动时显示最顶层的位图(没有边框的窗口)。
  3. 让C ++应用程序启动实际的.NET应用程序。
  4. .NET应用程序启动,当它完成启动和初始化时,它会告诉C ++应用程序关闭。这是通过IPC完成的。
  5. 进程间通信按以下方式完成:

    1. C ++应用程序写入一个临时文件。
    2. 调用.NET应用程序时,文件名将作为命令行参数传递。
    3. C ++应用程序定期轮询该文件是否存在。
    4. 只要必须隐藏启动画面,.NET应用程序就会删除该文件。
    5. 一旦临时文件不再存在(或发生超时),C ++应用程序就会存在。
    6. 我知道这不是100%完美,这是我几年前开始开发.NET应用程序以来最合适的解决方案。