Application En C#.Exécuter sans Forme
Est-il possible d'appeler de l'Application.Exécuter, mais de ne pas transmettre un paramètre de formulaire, ou est-il une alternative si il n'y a pas de formulaire pour appeler?
La méthode Run ne semble pas avoir des surcharges qui n'acceptent pas une forme.
Par exemple, si je voulais instancier une classe de première, et alors que l'appel en la forme, est-il la façon de faire l'équivalent de:
Application.Run(myClass);
Juste pour clarifier, je ne veux toujours la fonctionnalité .Run (). C'est, d'établir une boucle de garder l'application en cours d'exécution, mais au lieu de suivre un formulaire, la piste d'une classe ou d'un autre objet.
C'est concernant le compact framework initialement. Je suppose que c'est pourquoi la méthode Run n'a pas la surcharge que je cherchais.
Qu'essayez-vous de faire?
Application.Run
commence en fait à la pompe de message, qui est responsable de l'envoi des messages de windows et des gestionnaires d'événements. Quel est le but de conclure un pompe de message si aucune fenêtre n'existe?J'ai édité ma question. Ce que je suis en train d'essayer de faire est de lancer le premier formulaire à partir d'un non-statique de la classe. Je voulais donc instancier la classe, puis de lancer la forme.
ah j'ai quitté pour prendre une bouchée, revint et posté ma réponse et que vous l'avez édité la question! =P mais une partie de ma réponse peut expliquer ce que vous voulez??
OriginalL'auteur Paul Michaels | 2011-01-18
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas clair si vous voulez faire:
Pour (1):
Ce que vous devez savoir est votre programme commence à partir de la première ligne de la principale et se termine à la dernière. Cependant, lorsque vous appelez
Application.Run(FORM)
il des charges jusqu'à une windows boucle de message pour ce formulaire. C'est une spéciale boucle qui maintient le programme reste dans la principale et attend les événements (on les appelle des Messages de Windows en API win32)Et donc le programme ne s'arrête pas jusqu'à ce que l'utilisateur clique sur le bouton fermer. Lorsque cela se produit, c'est quand votre programme sera effectivement
return
de sa Main.(2) Alors maintenant, si vous voulez juste une pure application de console avec l'absence de formes:
J'espère que cela a aidé.
try{Application.Run(new main_form());}catch(exception e){...}finally{...}
pas ce que vous attendez.OriginalL'auteur gideon
Euh... http://msdn.microsoft.com/en-us/library/ms157900.aspx
OriginalL'auteur ta.speot.is
Vous pouvez utiliser la surcharge de
Application.Run
qui accepte un contexte d'application comme seul paramètre. UnApplicationContext
est en fait qu'une classe ne peut hériter que d', et ajouter toutes les fonctionnalités que vous souhaitez. Voir l'exemple dans le lien pour plus d'informations.OriginalL'auteur Klaus Byskov Pedersen
Le problème ici, c'est que quelque chose va appeler cette instance de maclasse et le dire à la sortie, sinon le programme va simplement continuer à fonctionner même après que toutes les formes sont fermés. Et l'appel de ExitThread() dans le constructeur est ignoré.
OriginalL'auteur dynamichael