2011-03-14 12 views
6

En F # si hago algo como deje form = new Form (Text = "MyForm") y ejecútelo en FSI, el formulario se mostrará y actualizará normalmente, e incluso recibirá mensajes. Sin embargo, ¿quién está bombeando la cola de mensajes? No hay una llamada a Application.Run aquí. Estoy un poco confundido.En F #, ¿quién bombea la cola de mensajes?

Respuesta

16

Como dice ildjarn, F # Interactive implementa su propio bucle de mensajes. Curiosamente, el bucle de mensajes no está codificado en F # Interactive, por lo que puede cambiarlo. Esto es bastante útil, porque el predeterminado está basado en Windows Forms, pero hay otros frameworks GUI que puede querer usar.

Para hacer eso, necesitaría implementar la interfaz IEventLoop y luego asignar su instancia a la propiedad fsi.EventLoop. Para obtener más información, véase:

+0

Muchas gracias por los enlaces! Buena información – Chuck

3

FSI tiene su propia bomba de mensajes por esta misma razón.

Cuestiones relacionadas