zoukankan      html  css  js  c++  java
  • c#制作简单启动画面的方法

    本文实例讲述了c#制作简单启动画面的方法。分享给大家供大家参考。具体分析如下:

    启动画面是程序启动加载组件时一个让用户稍微耐心等待的提示框。一个好的软件在有启动等待需求时必定做一个启动画面。启动画面可以让用户有心理准备来接受程序加载的缓慢,还可以让用户知道加载的进度和内容。本文只是记录最简单的构架。

    VS2010创建一个C# Windows窗体应用程序,将主窗体改名为FormMain,再创建一个窗体起名为SplashScreen。向程序中加载一个图片作为启动画面,如下图

    /// <summary> 
    /// 启动画面 
    /// </summary> 
    public partial class SplashScreen : Form 
    { 
     /// <summary> 
     /// 启动画面本身 
     /// </summary> 
     static SplashScreen instance; 
     /// <summary> 
     /// 显示的图片 
     /// </summary> 
     Bitmap bitmap; 
     public static SplashScreen Instance 
     { 
      get
      { 
       return instance; 
      } 
      set
      { 
       instance = value; 
      } 
     } 
     public SplashScreen() 
     { 
      InitializeComponent(); 
      // 设置窗体的类型 
      const string showInfo = "启动画面:我们正在努力的加载程序,请稍后...";
      FormBorderStyle = FormBorderStyle.None; 
      StartPosition = FormStartPosition.CenterScreen; 
      ShowInTaskbar = false; 
      bitmap = new Bitmap(Properties.Resources.SplashScreen); 
      ClientSize = bitmap.Size; 
      using (Font font = new Font("Consoles", 10)) 
      { 
       using (Graphics g = Graphics.FromImage(bitmap))
       { 
        g.DrawString(showInfo, font, Brushes.White, 130, 100);
       } 
      } 
      BackgroundImage = bitmap; 
     } 
     protected override void Dispose(bool disposing)
     {
      if (disposing && (components != null)) 
      { 
       if (bitmap != null) 
       { 
        bitmap.Dispose(); 
        bitmap = null; 
       } 
       components.Dispose(); 
      } 
      base.Dispose(disposing); 
     } 
     public static void ShowSplashScreen()
     { 
      instance = new SplashScreen();
      instance.Show(); 
     } 
    }

    然后在主程序启动时调用

    static class Program 
    { 
     /// <summary> 
     /// 应用程序的主入口点。 
     /// </summary> 
     [STAThread] 
     static void Main() 
     { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false);
      // 启动 
      SplashScreen.ShowSplashScreen(); 
      // 进行自己的操作:加载组件,加载文件等等 
      // 示例代码为休眠一会 
      System.Threading.Thread.Sleep(3000); 
      // 关闭 
      if (SplashScreen.Instance != null) 
      { 
       SplashScreen.Instance.BeginInvoke(new MethodInvoker(SplashScreen.Instance.Dispose));
       SplashScreen.Instance = null; 
      } 
      Application.Run(new FormMain()); 
     } 
    }
  • 相关阅读:
    深入RESTful无状态原则
    基于Tomcat7、Java、WebSocket的服务器推送聊天室
    java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet
    POI操作Excel常用方法总结
    第章 子例程引用与闭包
    集团企业数据信息系统建设方案
    集团企业数据信息系统建设方案
    不是更快更强,而是更加自如——2015年终总结
    RESTful_基础知识
    RESTful_基础知识
  • 原文地址:https://www.cnblogs.com/randyzhuwei/p/5403927.html
Copyright © 2011-2022 走看看