Splasher.cs
上传用户:chizxy
上传日期:2014-11-29
资源大小:407k
文件大小:1k
源码类别:

其他行业

开发平台:

C#

  1. using System;
  2. using System.Threading;
  3. using System.Windows.Forms;
  4. namespace MKIms3
  5. {
  6. public class Splasher
  7. {
  8. static SplashForm MySplashForm = null;
  9. static Thread MySplashThread = null;
  10. static void ShowThread() 
  11. {
  12. MySplashForm = new SplashForm();
  13. Application.Run(MySplashForm);
  14. }
  15. /// <summary>
  16. /// 开启一个新的线程来现实splshform
  17. /// </summary>
  18. static public void Show() 
  19. {
  20. if (MySplashThread != null)
  21. return;
  22. MySplashThread = new Thread(new ThreadStart(Splasher.ShowThread));
  23. MySplashThread.IsBackground = true;
  24. MySplashThread.ApartmentState = ApartmentState.MTA;
  25. MySplashThread.Start();
  26. }
  27. /// <summary>
  28. /// 提供关闭splshform窗体的接口
  29. /// </summary>
  30. static public void Close() 
  31. {
  32. if (MySplashThread == null) return;
  33. if (MySplashForm == null) return;
  34. try 
  35. {
  36. MySplashForm.Invoke(new MethodInvoker(MySplashForm.Close));
  37. }
  38. catch (Exception) 
  39. {
  40. }
  41. MySplashThread = null;
  42. MySplashForm = null;
  43. }
  44.         
  45. /// <summary>
  46. /// 设置提示信息
  47. /// </summary>
  48. static public string Status 
  49. {
  50. set 
  51. {
  52. if (MySplashForm == null) 
  53. {
  54. return;
  55. }
  56. MySplashForm.StatusInfo = value;
  57. }
  58. get 
  59. {
  60. if (MySplashForm == null) 
  61. {
  62. throw new InvalidOperationException("Splash Form 没有启动");
  63. }
  64. return MySplashForm.StatusInfo;
  65. }
  66. }
  67. }
  68. }