2010-10-01 3 views
0

Je tente de lancer une boîte de dialogue en appelant plusieurs méthodes à partir d'un assemblage de formulaires Windows. Mon application est une application de console. Toute la logique d'exécution se passe bien et sans exception, mais la fenêtre n'est pas lancée. Est-ce un problème connu que vous ne pouvez pas lancer un formulaire Windows à partir d'une application de la console?Echec de la création d'une fenêtre lors du lancement par réflexion à partir de l'application console

Répondre

1

bien, oui. Vous devez avoir une boucle de message Windows pour que cela fonctionne. Si vous créez une application Forms à partir de zéro, vous verrez le module Program.cs créé avec ... Application.Run(new YourMainForm()). Run est fondamentalement la pompe de message - ce qui est à peu près une condition pour que les formulaires fonctionnent.

+0

Existe-t-il un moyen de simuler cette exécution avec des répartiteurs ou quelque chose d'autre? – kateroh

+0

Oui, je suis sûr qu'il y a un moyen, mais je n'ai moi-même rien fait de tel. Contrairement aux applications WPF, les applications Windows Forms sont essentiellement des applications GUI WIN32 traditionnelles (elles utilisent des messages de fenêtre traditionnels, des poignées, etc. pour faire leur travail) - elles utilisent simplement du code managé. Dans WIN32, pour faire quelque chose comme ceci, vous pouvez lancer votre propre thread et appeler GetMessage, DispatchMessage, et les amis, pour avoir le message pour votre fenêtre créée dynamiquement. Cela devrait aussi fonctionner avec les applications Forms, mais il pourrait y avoir des mises en garde. –

+0

Merci d'expliquer cet contenu! C'est en fait une application/formulaire WPF que j'ai besoin de créer dans l'application console. Des conseils sur la façon dont cela peut être accompli avec une application WPF? – kateroh

Questions connexes