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()); 
     } 
    }
  • 相关阅读:
    jQuery封装函数
    jquery中DOM
    phpstorm软件配置端口问题
    键盘控制div移动并且解决停顿问题(原生js)
    js实现可视化区域内拖拽
    一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
    js之鼠标随动后面跟随事件(类似于长龙跟着跑)
    js多物体运动之淡入淡出效果
    js实现网站首页分享滑块
    JS实现ul,li排序效果
  • 原文地址:https://www.cnblogs.com/randyzhuwei/p/5403927.html
Copyright © 2011-2022 走看看