Pase al pie de la página para ver la pregunta; esto es solo algo de información extraEjecutar múltiples hilos UI
Estoy usando un componente (GeckoFX) para renderizar algunos sitios web, bien, sin embargo, solo se puede usar en Windows Form; ya que tiene que vincularse a un objeto WinForms que se puede dibujar. Como todos los WinForms se ejecutan en el mismo hilo, solo puedo usar una instancia de GeckoFX a la vez; así que decidí crear una 'clase trabajadora' en forma de WinForm y agregar toda la lógica allí. El formulario no requiere comunicarse con el formulario principal.
Ahora puedo abrir 10 ventanas, y eventualmente funcionarán, pero cada forma nueva esperará antes de que todas las demás formas hayan manejado todos sus eventos GeckoFX, ya que no puede usar varias instancias en una cadena. Además, el navegador debe estar en un UIThread. Entonces:
¿Es posible crear múltiples subprocesos de interfaz de usuario (uno para cada formulario)?
He visto a alguien que lo hace (http://74.125.77.132/search?q=cache:PrFTaH2nx_YJ:geckofx.org/viewtopic.php%3Fid%3D453+geckofx+service&cd=1&hl=nl&ct=clnk&gl=nl&client=firefox-a), pero nadie ha conseguido que las muestras de código funcionen. El chico que lo hizo funcionar originalmente usó alguna forma de bombeo de mensajes personalizados para hacer este tipo de cosas, pero no tengo ni idea de cómo lograr algo así.
Era una especie de lo que estaba buscando, pero GeckoFX ahora se queja de violaciones de acceso a memoria, así que seguiré ejecutando mi único hilo por ahora :-) –
Tenga en cuenta que no tiene que crear un formulario para ejecutar un bucle de mensaje: solo use el parámetro [Application.Run()] (https://msdn.microsoft.com/en-us/library/ms157900%28v=vs.110%29.aspx) en un hilo. – ulatekh