Una de las funcionalidades que más apreciaban los programadores de VB 6.0 a la hora de crear procesos y bucles muy largos era la de poder decirle al sistema que recupere el foco para poder atender otros procesos en ejecución.
Esto se hacía mediante la instrucción DoEvents en VB 6.0, lo que permitía por ejemplo que el sistema atendiese a otros eventos como podía ser el de redibujar el contenido de una ventana mientras se ejecutaba el proceso. Esto era visible por ejemplo cuando se ejecutaba una instalación y la ventana y la barra de progreso no se redibujaban por estar ocuado el proceso de la aplicación (muchos han sido los instaladores que han sufrido este problema).
Pues bien, en C# podemos contar con la misma funcionalidad que contábamos en VB 6.0 mediante la llamada al evento DoEvents() perteneciente al espacio de nombres System.Windows.Forms.Application.
Un ejemplo de uso podría ser mientras esperamos a que el control Winsock realice una conexión:
// C#
// using System.Windows.Forms;
do
{
Application.DoEvents();
}while(Winsock.State==7);
En un nivel más avanzado lo podremos usar en gestión multiprocesos o con la clase Timer para impedir bloqueos.
Espero que os resulte de utilidad.
Hola Cristian
Más que un comentario me gustraría exponerte micaso pero no tengo a donde escribirte si puedes por favor escribeme a jcsmguitar@hotmail.com, ya que creo que mi caso está muy ligado a esto(espero tener razón)
Muchas Gracias
no andaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
realmente quiero migrar todo el codigo que escribi para mi trabajo a c# esta en vb 6.0 me podes ayudar mantengo el sistema de matricula del colegio de santa ana Honduras CA