2012-01-05 2 views
1

У меня есть программа WinForms. Если пользователь запускает его из командной строки и передает недопустимый параметр, как я могу отображать информацию об ошибках в окне консоли?показать окно консоли из программы WinForms

+2

В окнах вы можете указать аргументы для передачи в программу с помощью ярлыка. Если параметры ярлыка неверны, где будет отображаться сообщение об ошибке? То есть почему бы вам не отобразить сообщение об ошибке в вашем окне/игнорировать параметры (или войти в файл просмотра событий/файл журнала)? – Default

ответ

1

Вы можете выводить информацию с помощью метода Console.WriteLine (message).

+0

Но мое приложение не Winform, а не консоль. –

4

Вот пример того, как отобразить сообщение для командной строки, если плохой параметр передается Winform приложения:

static class Program 
{ 
    [DllImport("kernel32.dll")] 
    static extern bool AttachConsole(int dwProcessId); 
    private const int ATTACH_PARENT_PROCESS = -1; 

    [STAThread] 
    static void Main(string[] args) 
    { 

     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 

     //if parameter -window is passed - opens main form, else displays Bad params message 
     if(args[0] == "-window") 
      Application.Run(new main()); 
     else 
     { 
      //Attach console process 
      AttachConsole(ATTACH_PARENT_PROCESS); 
      Console.WriteLine("Bad params"); 
     } 
    } 
} 

Ссылка: http://www.csharp411.com/console-output-from-winforms-application/

0

Ваше приложение WinForms может поднять всплывающее, как окно сообщения , который показывает ошибку.

Если приложение работает в автоматическом режиме как часть пакетного файла, вы можете записать его в журнал событий или в собственный файл журнала, созданный приложением.

других ответов, которые говорят вам использовать Console.WriteLine также замечательно, если ваша команда пакетной перенаправляет вывод в файл, например, ...

MYAPP.EXE >> errors.txt

это добавляет консоль в файл error.txt ...

Смежные вопросы