J'ai trouvé un code source dans ce fil affiché par Rex Logan ici sur le SO:Position de réglage d'une fenêtre de console ouverte dans une WinForms App
... il y a aussi un code très intéressant affiché dans ce même fil par Foredecker, mais il est incomplet et complexe: je ne suis pas assez sur la facilité 'Trace pour savoir comment l'implémenter complètement ...
Je suis capable d'utiliser ce code console Rex (aimablement) posté avec succès dans une application WinForms pour enregistrer divers événements, et pour pousser messa ges sur lesquels sont utiles dans le débogage; Je peux l'effacer du code de l'application, aussi. Ce que je n'arrive pas à faire est de définir de manière fiable la position de l'écran de la fenêtre de la console lorsque j'ouvre la fenêtre de la console (dans l'événement de chargement de la forme principale). Je reçois la compilation des erreurs de blocage de System.ArgumentOutOfRangeException si je tente de définir les propriétés windowLeft ou windowtop comme ceci:
La position de la fenêtre doit être réglé de telle que la taille de la fenêtre actuelle correspond à au sein de la mémoire tampon de la console, et les numéros ne doit pas être négatif. Nom du paramètre: gauche Valeur réelle était #
Je suis en mesure, cependant, pour définir les propriétés WindowWidth et WindowHeight.
J'ai essayé de déplacer le code qui active la console de divers emplacements, dont:
- dans le fichier Program.cs avant la MainForm est « rodent
- avant et après l'appel à » InitializeComponent() en le MainForm cteur
- en cas de charge de formulaire
- dans le formulaire d'événement montré
le CONSO le était activé d'accord dans tous ces endroits dans le code, mais sans changement dans le changement apparemment aléatoire de l'endroit où dans le quadrant supérieur gauche de l'écran il est apparu.
Lorsque la fenêtre de la console s'ouvre semble varier de façon aléatoire (le formulaire principal est toujours initialisé au même endroit sur l'écran).
Merci, RRUZ; J'ai pu intégrer votre code dans le code de base publié par Rex Logan et définir la fenêtre de la console où je le voulais. Je suis juste curieux: pourquoi l'appel à 'Console.Read()?Il s'agit d'une application WinForms que je suis en train d'exécuter et j'utilise la console uniquement pour la «consignation»: est-ce une opération standard lors de l'initialisation d'une console à partir d'une application WinForm? Merci beaucoup! mieux, Bill – BillW
@BillW - c'est là pour que la fenêtre reste visible jusqu'à ce que vous frappiez 'return'. L'exemple ne fait rien après le réglage de la position de la fenêtre, donc se fermerait simplement et vous ne verriez pas qu'il avait la bonne position. – ChrisF
Salut ChrisF, Merci pour votre réponse! fyi: En utilisant le code affiché par Rex Logan auquel je me suis connecté dans ma requête d'origine, la fenêtre Console persiste sans avoir besoin d'un appel à Console.Read(). meilleur, Bill – BillW