J'ai créé une solution de formulaire Windows et dans le constructeur d'une classe que j'ai appelée
Console.WriteLine("constructer called")
Mais je n'ai obtenu que le formulaire et pas la console .. alors où est la sortie?
Dans les paramètres du projet, définissez le type d'application sur Console. Ensuite, vous obtiendrez la fenêtre de la console et le formulaire Windows.
Vous devriez également envisager d'utiliser Debug.WriteLine , c'est probablement ce que vous recherchez. Ces instructions sont écrites dans les écouteurs de trace de votre application et peuvent être affichées dans Fenêtre de sortie de Visual Studio .
Debug.WriteLine("constructor fired");
Si vous exécutez votre application dans Visual Studio, vous pouvez voir la sortie de la console dans la fenêtre de sortie.
Débogage -> Windows -> Sortie
Notez que la meilleure façon de générer des données de diagnostic à partir d'une application WinForms est d'utiliser System.Diagnostics.Debug.WriteLine
ou System.Diagnostics.Trace.WriteLine
car ils sont plus configurables comment et où vous voulez la sortie.
Comme d'autres réponses l'ont indiqué System.Diagnostics.Debug.WriteLine
est le bon appel pour les messages de débogage. Mais pour répondre à votre question:
À partir d'une application Winforms, vous pouvez appeler une fenêtre de console pour une interaction comme celle-ci:
using System.Runtime.InteropServices;
...
void MyConsoleHandler()
{
if (AllocConsole())
{
Console.Out.WriteLine("Input some text here: ");
string UserInput = Console.In.ReadLine();
FreeConsole();
}
}
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AllocConsole();
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool FreeConsole();
J'utilise parfois cela pour déclencher une invite de commande au lieu de fenêtres d'application lorsque certains commutateurs sont ouverts.
Il y a d'autres idées dans cette question similaire si quelqu'un en a besoin:
Quel est le but de Console.WriteLine () dans Winforms