Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: 01munrra en 29 Octubre 2015, 12:44 PM

Título: Cambiar color de un Form por 5 segundos!
Publicado por: 01munrra en 29 Octubre 2015, 12:44 PM
Amigos como puedo cambiar el color del fondo por 5 segundos?

cada vez que presiono un botton llamado Error, este cambiara el color de fondo del form por 5 segundos. y que despues vuelva al color original
Código (vbnet) [Seleccionar]

Me.BackColor = System.Drawing.Color.OrangeRed
Título: Re: Cambiar color de un Form por 5 segundos!
Publicado por: XresH en 29 Octubre 2015, 22:18 PM
Usa un timer.. es lo mas simple y podes encontrar muchos ejemplos de como aplicarlo en tu proyecto.

Saludos.
Título: Re: Cambiar color de un Form por 5 segundos!
Publicado por: Lekim en 30 Octubre 2015, 12:44 PM
Hola


Código (vbnet) [Seleccionar]


Imports System.Threading.Tasks
Public Class Form1
   Private Sub btnError_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnError.Click
       Me.BackColor = Color.OrangeRed 'Cambia el color del Form
       btnError.Enabled = False 'Deshabilita el Botón
       '<Inicia un subproceso>
       Task.Factory.StartNew(Sub()
                                 Dim Segundos As Integer = 5
                                 System.Threading.Thread.Sleep(Segundos * 1000) 'Espera 5 segundos
                                 Me.Invoke(Sub() Me.BackColor = SystemColors.Control) 'Recupera el color del Form
                                 Me.btnError.Invoke(Sub() Me.btnError.Enabled = True) 'Vuelve a habilitar el botón
                             End Sub)

       Me.Width = 500
       Label1.Text = "Task genera un subproceso que se produce de forma independente" & Environment.NewLine _
           & "El evento Click lo ha iniciado y pasa a la línea siguiente para mostrar este texto"
   End Sub
End Class


Título: Re: Cambiar color de un Form por 5 segundos!
Publicado por: 01munrra en 31 Octubre 2015, 03:10 AM
Lekim, funciona 100%... gracias!!  ;-)