Auch wenn Sie den Schlaf Argument etwas ändern größer, wenn Sie auf dem gleichen Thread arbeiten, wo Form (Haupt-Thread) in Betrieb ist, werden Sie keine Änderung sehen, weil Sie den Haupt-Thread blockieren; Stattdessen sollten Sie entweder einen anderen Thread verwenden oder einfach die Timer-Komponente von Windows Forms verwenden.
int i;
public Form1()
{
InitializeComponent();
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
timer.Interval = 200;
timer.Tick += new EventHandler(timer_Tick);
this.BackColor = Color.White;
timer.Start();
}
void timer_Tick(object sender, EventArgs e)
{
if (this.BackColor == Color.White)
this.BackColor = Color.Black;
else
this.BackColor = Color.White;
}
sleep 20 ist fast gleichbedeutend mit 0. vielleicht nur * sehen * eine Farbänderung? Was versuchst du zu erreichen, es gibt wahrscheinlich einen besseren Weg, um das zu tun, was du versuchst. –
Siehe http://stackoverflow.com/q/952906/ –
Aber Sleep() auf dem Hauptthread für 50 * 40 ms ist keine gute Idee. –