me encontré con algo de código fuente en este hilo publicado por Rex Logan aquí en SO:Posición de ajuste de una ventana de consola abre en una aplicación Windows Forms
... también hay algo de código muy interesante publicado en este mismo hilo por Foredecker, pero es incompleto y complejo: no estoy lo suficientemente arriba en la instalación 'Trace para saber cómo implementarlo completamente ...
Puedo usar este código de consola Rex (amablemente) publicado con éxito en una aplicación de WinForms para registrar varios eventos, y para empujar messa ges en los que son útiles para la depuración; Puedo borrarlo del código de la aplicación, también.
Lo que aparentemente no puedo hacer es establecer de forma confiable la posición de la pantalla de la ventana de la consola cuando abro la ventana de la consola (en el evento Carga de formulario principal). Consigo compilar el bloqueo de errores System.ArgumentOutOfRangeException si intento para establecer windowLeft o WindowTop propiedades como esta:
La posición de la ventana se debe establecer tales que el tamaño de la ventana actual se ajusta en el búfer de la consola, y los números de no debe ser negativo Nombre Parámetro: a la izquierda del valor real era #
soy capaz, sin embargo, para establecer WindowWidth y WindowHeight propiedades.
he intentado mover el código que activa los distintos lugares de la consola incluyendo:
- en el archivo antes de la Program.cs MainForm es 'ejecutar
- antes y después de la llamada a' InitializeComponent() en la MainForm ctor
- en el evento Form Load
- en la forma mostrada caso
la Conso El código se activó correctamente en todos estos lugares, pero sin cambios en la conmutación aparentemente aleatoria de donde apareció el cuadrante superior izquierdo de la pantalla.
El lugar donde se abre la ventana de la consola parece variar al azar (el formulario principal siempre se inicializa en el mismo lugar en la pantalla).
Gracias, RRUZ; Pude incorporar tu código en el código base publicado por Rex Logan y configurar la ventana de la Consola donde yo quería. Solo tengo curiosidad: ¿por qué la llamada a 'Console.Read()?Esta es una aplicación de WinForms que estoy ejecutando, y estoy usando la consola solo para "iniciar sesión": ¿esto es una tarea estándar al inicializar una consola desde una aplicación WinForm? ¡Muchas gracias! mejor, Bill – BillW
@BillW - está ahí para que la ventana permanezca visible hasta que toques 'return'. El ejemplo no hace nada después de establecer la posición de la ventana, por lo que simplemente se cerraría y no vería que tenía la posición correcta. – ChrisF
Hola, ChrisF, ¡Gracias por tu respuesta! fyi: Usando el código publicado por Rex Logan al que me he vinculado en mi solicitud original, la ventana de la Consola persiste sin necesidad de llamar a Console.Read(). mejor, Bill – BillW