visual tick studio interval ejemplos ejemplo cronometro c# timer

c# - tick - timer vb



Usando un temporizador en C# (4)

Estoy tratando de hacer una forma invisible por x cantidad de tiempo en c #. ¿Algunas ideas?

Gracias, Jon


En el nivel de clase haz algo como esto:

Timer timer = new Timer(); private int counter = 0;

En el constructor haz esto:

public Form1() { InitializeComponent(); timer.Interval = 1000; timer.Tick += new EventHandler(timer_Tick); }

Luego, su controlador de eventos:

void timer_Tick(object sender, EventArgs e) { counter++; if (counter == 5) //or whatever amount of time you want it to be invisible { this.Visible = true; timer.Stop(); counter = 0; } }

Luego, donde quiera que sea invisible (lo demostraré aquí con un clic de botón):

private void button2_Click(object sender, EventArgs e) { this.Visible = false; timer.Start(); }


Solución rápida y sucia aprovechando cierres. ¡No se requiere temporizador!

private void Invisibilize(TimeSpan Duration) { (new System.Threading.Thread(() => { this.Invoke(new MethodInvoker(this.Hide)); System.Threading.Thread.Sleep(Duration); this.Invoke(new MethodInvoker(this.Show)); })).Start(); }

Ejemplo:

// Hace la forma invisible por 5 segundos

Invisibilizar (nuevo TimeSpan (0, 0, 5));



BFree ha publicado un código similar en el tiempo que tardé en probar esto, pero aquí está mi intento:

this.Hide(); var t = new System.Windows.Forms.Timer { Interval = 3000 // however long you want to hide for }; t.Tick += (x, y) => { t.Enabled = false; this.Show(); }; t.Enabled = true;