¿Hay alguna forma sencilla de que los elementos de un formulario sigan actualizándose incluso después de hacer clic en Mostrar escritorio de Windows? El siguiente código actualiza el valor en textBox1 hasta que hago clic en Windows Show Desktop (Windows 10: haga clic en la parte inferior derecha de la pantalla). Prefiero no usar Application.DoEvents() .
void Button1Click(object sender, EventArgs e) { int n = 0; while(true) { textBox1.Text = n++.ToString(); textBox1.Refresh(); Update(); // Application.DoEvents(); Thread.Sleep(200); } }El uso de Thread.Sleep bloquea el subproceso actual (subproceso de interfaz de usuario); puedes arreglarlo así:
private async void button1_Click(object sender, EventArgs e) { int n = 0; while (true) { textBox1.Text = n++.ToString(); await Task.Delay(200); } }