gif.cs
上传用户:lqb116
上传日期:2014-04-04
资源大小:2712k
文件大小:2k
源码类别:

P2P编程

开发平台:

C#

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Windows.Forms;
  7. using LanMsg.Gif.Components;
  8. namespace LanMsg.gif
  9. {
  10. /// <summary>
  11. /// gif 的摘要说明。
  12. /// </summary>
  13. public class gif : System.Windows.Forms.PictureBox
  14. {
  15. private System.ComponentModel.IContainer components;
  16. public gif()
  17. {
  18. // 该调用是 Windows.Forms 窗体设计器所必需的。
  19. InitializeComponent();
  20. this.SizeMode=System.Windows.Forms.PictureBoxSizeMode.AutoSize;
  21. play();//播放GIF
  22. // TODO: 在 InitializeComponent 调用后添加任何初始化
  23. }
  24. /// <summary> 
  25. /// 清理所有正在使用的资源。
  26. /// </summary>
  27. protected override void Dispose( bool disposing )
  28. {
  29. if( disposing )
  30. {
  31. if(components != null)
  32. {
  33. components.Dispose();
  34. }
  35. }
  36. base.Dispose( disposing );
  37. }
  38. private string fileName=@"C:Documents and Settingsadmin桌面page_cr14.gif";
  39. public string FileName
  40. {
  41. set{fileName=value;}
  42. get{return fileName;}
  43. }
  44. private int FrameCount=0;
  45. public void play()//播放GIF
  46. {
  47. System.Threading.Thread RThread = new System.Threading.Thread( new System.Threading.ThreadStart(player)); 
  48. RThread.Start(); //开始发送文件
  49. }
  50. private void player()
  51. {
  52. if(fileName=="")return;
  53. GifDecoder gifDecoder = new GifDecoder();
  54. gifDecoder.Read(fileName);
  55. //gifDecoder.Read(fileName);
  56.     this.Refresh();
  57. FrameCount = gifDecoder.GetFrameCount();
  58. int i=0;
  59. while(fileName!="")
  60. {  
  61.   if(i==this.FrameCount)i=0;
  62. this.Image  = gifDecoder.GetFrame(i);  // frame i
  63. // this.Refresh();
  64. System.Threading.Thread.Sleep(gifDecoder.GetDelay(i));
  65. i++;
  66. }
  67. }
  68. #region 组件设计器生成的代码
  69. /// <summary> 
  70. /// 设计器支持所需的方法 - 不要使用代码编辑器 
  71. /// 修改此方法的内容。
  72. /// </summary>
  73. private void InitializeComponent()
  74. {
  75. // 
  76. // gif
  77. // 
  78. this.Size = new System.Drawing.Size(104, 88);
  79. }
  80. #endregion
  81. }
  82. }