Консоль. Запишите, что не работа в победе формирует приложение

Я создал Приложение Windows Forms VB.NET в Visual Studio 2008. Когда я запускаю свою программу от командной строки, я не получаю вывода (только следующая подсказка).

Что я делаю неправильно?

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Debug.Write("Foo")
    Debug.Flush()
    Console.WriteLine("foo")
    Console.Beep(800, 100) 'confirm this function is called'
    Me.Close()
End Sub

Править: Программа может иметь форму и консоль?

EDIT2: работы ответа Ho. Однако вывод появляется на следующем приглашении командной строки. Приложение Winforms может сказать командной строке ожидать, пока это не закончено вместо непосредственного возврата?

7
задан Steven 14 April 2010 в 14:50
поделиться

5 ответов

Или, если у вас уже есть приложение WinForms, вы можете присоединить к нему консоль с помощью AttachConsole API.

using System.Runtime.InteropServices;  

...

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

...

AttachConsole(ATTACH_PARENT_PROCESS);

(Отформатировано как код)

3
ответ дан 6 December 2019 в 06:02
поделиться

Тестирование аналогичного кода с помощью приложения Windows Form на C # .NET. Выводит и подает звуковой сигнал в Visual Studio, но подает звуковой сигнал только при запуске из командной строки.

Если я изменю Тип вывода на Консольное приложение на вкладке Приложение в свойствах проекта, я смогу использовать и форму, и консоль :)

11
ответ дан 6 December 2019 в 06:02
поделиться

Попробуйте создать новый проект, используя шаблон "Консольное приложение".

2
ответ дан 6 December 2019 в 06:02
поделиться

Остальные правы, когда говорят, что вам нужно запускать свое приложение как консольное. На ваш вопрос о том, можете ли вы иметь и консоль, и графический интерфейс: да. Просто добавьте ссылку на System.Windows.Forms в свой проект, а для метода Main приложения включите этот код:

' here instantiate whatever form you want to be your main form '
Dim f As New Form1

' this will start the GUI loop, which will not progress past '
' this point until your form is closed '
System.Windows.Forms.Application.Run(f)
5
ответ дан 6 December 2019 в 06:02
поделиться

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

1
ответ дан 6 December 2019 в 06:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: