在Windows窗体上创建背景gif作为复活节彩蛋

时间:2017-04-26 14:55:57

标签: c# background-image animated-gif system.drawing.imaging

我试图隐藏Windows窗体的.designer.cs页面中的内容。

我希望它能够运行ui线程,并更新表单的背景以显示gif(完全是PG)。

到目前为止,这是我能够提出的所有内容,但是因为它不起作用,所以必须有一些根本性的缺陷。

提示?

            #region importantthigns
        if (System.DateTime.Now.Hour > 15)
        {
            System.Drawing.Image gifImg = global::STAMPS.Properties.Resources.fredleaveswork;
            System.Drawing.Imaging.FrameDimension dimension = new System.Drawing.Imaging.FrameDimension(gifImg.FrameDimensionsList[0]);
            this.BackgroundImage = gifImg;
            int frameCount = gifImg.GetFrameCount(dimension);
            object locker = new object();
            new System.Threading.Thread(() =>
         {

             while (true)
             {
                 try
                 {
                     for (int x = 0; x < frameCount; x++)
                     {
                         System.Threading.Thread.Sleep(300);
                         if (this.InvokeRequired)
                         {
                             this.Invoke(new System.Action(
                                  () =>
                                  {
                                      lock (locker)
                                      {
                                          gifImg.SelectActiveFrame(dimension, x);
                                          this.BackgroundImage = gifImg;
                                      }

                                  }));
                         }
                         else
                         {
                             gifImg.SelectActiveFrame(dimension, x);
                             this.BackgroundImage = gifImg;
                         }

                     }
                 }
                 catch (System.Exception)
                 {
                     //stealth mode
                 }

             }
         }).Start();
        }
        #endregion

更新! - 我发现如果我最小化和(最小化?)图像按预期工作,有点。我想我只需要重新加载页面或其他东西......

0 个答案:

没有答案