вопрос по анимации c#

Хотел бы поинтересоваться как сделать анимацию на шарпике (вин формс).

Вот такое вот плавное приближение, ну и отдаление желательно (на сайте криво сделано, другой не нашёл) | not advertise:

https://www.youtube.com/watch?v=-94e6BuFoiY&feature=youtu.be

Сейчас реализовано так: (но проблема в том, что я приближаю картинку а не кнопку, ну мне нужно картинку, а она замыливается + плавности никакой нет)

public delegate void sendMessageFromThread(PictureBox pic, Size s, Point p);

public void animatePub(PictureBox pic, Size s, Point p)
{
    pic.Size = s;
    pic.Location = p;
    Invalidate();
}

private void pictureBox15_MouseEnter(object sender, EventArgs e)
{
 Size s = this.pictureBox15.Size;
 var loc = pictureBox15.Location;

 (new Thread(delegate ()
 {
     Thread.CurrentThread.IsBackground = true;
     try
     {
          while (s.Width < aSize[3].Width + 6) //asize - массив из исходных размеров картинок для анимации (их несколько)
          {
               s.Width += 2;
               s.Height += 1;
               loc.X -= 1;
               loc.Y -= 2;
               Invoke(new sendMessageFromThread(animatePub), new object[] { pictureBox15, s, loc });
               Thread.Sleep(35);
          }
      }
      catch
      {
           Invoke(new sendMessageFromThread(animatePub), new object[] { pictureBox15, aSize[3], loc });
      }
 })).Start();
}

Ответы (0 шт):