C#: 启动画面设计
2015-10-11 21:34
453 查看
Windows Form经常会在启动主界面的时候预先有启动画面,这也是因为用户体验的需要,用户知道已经启动application,而不是在load resource的时候等待。因此这里不能用单线程的思路,单单只是设计一个界面而已,而需要在splash画面的时候同时Load resource。那么这个技术有两个线程,一个是splash画面,二是load resource。搜了一些资料,下面进行一些总结:
View Code
只需要将Program.cs里的InitApp里的Thread.Sleep改成实际的load resource代码即可
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; namespace WindowsTest { public partial class SplashForm : Form { private bool exit; public bool Exit { get { return exit; } } public SplashForm() { InitializeComponent(); } //显示文字信息 public void PrintMsg(Object msg) { label1.Text = msg.ToString(); } //关闭启动窗体,如果需要中止程序,传参数false public void CloseForm(Object o) { this.exit = Convert.ToBoolean(o); this.Close(); } private void SplashForm_Load(object sender, EventArgs e) { ThreadPool.QueueUserWorkItem(new WaitCallback(Program.InitApp), this); } } }
View Code
只需要将Program.cs里的InitApp里的Thread.Sleep改成实际的load resource代码即可
相关文章推荐
- C# 属性、索引
- c# 做的登录窗体,登录成功后当前登录Form关闭,打开Main窗体,但Main窗体点关闭按钮后程序仍在进程怎么办
- C# 委托 Action<T>
- C#中的interface
- 151011C#学习笔记
- c#创建、安装、卸载、调试windows服务的简单事例
- C#异常处理
- C#继承和多态
- C# FTP常规方法
- C# : SciTE 配置 cs 编译选项
- C#自定义特性和反射
- C#动态数组ArrayList介绍
- 学习c#老师布置得第一个作业
- 西门子PLC Modbus写入float字节排列
- C#中的方法(函数),委托和事件
- C#中var关键字
- c# 数据类型占用的字节数
- 使用Async和Await进行异步编程(C#版 适用于VS2015) z
- C#使用基类的引用 and 虚方法和覆写方法
- C#内存管理-栈堆/回收器托管/非托管资源释放/指针的应用