2016-01-03 3 views
-1

Я хочу сделать простую анимацию в своем приложении Windows Form. У меня есть некоторые растровые объекты, и я хочу, чтобы они показывались в случайных местах. Например, перемещение снизу вверх. Как я могу это сделать?Простая анимация в приложениях Windows Form

+1

см. Мой ответ [здесь] (http://stackoverflow.com/questions/31595983/fade-effects-in-windows-forms/31627394#31627394) или [здесь] (http://stackoverflow.com/questions/34298057/перемещение мини-картинка коробчатого постепенно-не-мгновенно/34566523 # 34566523) – rene

ответ

0

Выпей изображение т.е. в PictureBox и ...

public partial class Form1 : Form 
{ 
    private const int MinX = 0; 
    private const int MaxX = 150; 

    public Form1() 
    { 
     InitializeComponent(); 

     // Run "animation" in separate thread to avoid UI blocking 
     Task.Run(() => 
     { 
      int x = 0; 

      while (true) 
      { 
       if (x > MaxX) 
        x = MinX; 
       x += 1; 

       // Change must be delegated to the UI thread 
       pictureBox.Invoke((Action)(() => 
       { 
        pictureBox.Location = new Point(x, pictureBox.Location.Y); 
       })); 
       Thread.Sleep(15); 
      } 
     }); 
    } 
} 

Есть идея?