Как открыть консоль Windows Forms

Обновлено: 03.07.2024

С этого момента мы будем создавать приложения Windows, а не консольные приложения. Приложения Windows используют то, что называется формой. Сначала форма пуста. Затем вы добавляете в форму элементы управления, такие как кнопки, текстовые поля, меню, флажки, переключатели и т. д. Чтобы впервые взглянуть на форму Windows, выполните следующие действия.

Чтобы создать свой первый проект формы Windows, снова щелкните меню "Файл". На этот раз выберите «Новый проект» в меню. Когда вы это сделаете, вы снова увидите диалоговое окно «Новый проект».

Из доступных шаблонов выберите Приложение Windows Forms или Приложение Windows Forms. Оставьте имя по умолчанию WindowsFormsApplication1 (или WindowsFormsApp1 для пользователей версии 2017), а затем нажмите кнопку ОК.

Когда вы нажмете OK, для вас будет создан новый проект приложения Windows. В 2019 году у вас будет еще один экран «Настройте новый проект». Вы можете оставить все по умолчанию (если вам не нужно изменить место сохранения) и просто нажать «Создать».

Все пользователи получат новый проект:

Очевидным отличием от консольного приложения, которое вы создали в предыдущем разделе, является пустая форма в главном окне. Обратите внимание на панель инструментов с левой стороны. Мы добавим элементы управления из панели инструментов в эту пустую форму Form1, которую вы видите на изображении выше.

Если вы не видите панель инструментов, вы можете видеть только вкладку, как показано на следующем изображении (в выпусках Community 2015 и 2017 есть дополнительная вкладка под названием «Обозреватель серверов»)::

Если ваш экран выглядит так, как показано выше, наведите указатель мыши на вкладку Панель инструментов. Он будет расширяться, чтобы выглядеть как первый. Если вы хотите, чтобы панель инструментов отображалась постоянно, нажмите на символ булавки в середине:

Обратите внимание на обозреватель решений в правой части экрана. (Если вы не видите обозреватель решений, щелкните его пункт в меню «Вид» в верхней части Visual Studio Express.) Если вы сравните его с обозревателем решений при создании консольного приложения, вы увидите сходство:

В обоих проектах есть разделы для свойств, ссылок и файла Program.cs. Дважды щелкните файл Program.cs, чтобы открыть его, и вы увидите знакомый код:

А вот код из консольного приложения:

Оба имеют одинаковые строки использования, пространство имен, класс Program и метод Main.

Основной метод — это точка входа в вашу программу. Код в фигурных скобках Main будет выполнен при первом запуске программы. Последняя строка в приведенном выше коде WindowsApplication1 — это та, которая запускает форму Form1 при запуске приложения.

Здесь можно заниматься другими делами. Например, предположим, что у вас есть программа, которая подключается к серверу. Если он находит соединение, он загружает некоторую информацию из базы данных. В основном методе вы можете проверить, что соединение с сервером в порядке. Если это не так, отобразите вторую форму; если все в порядке, то отобразить первую форму.

Но не волнуйтесь, если весь этот код заставит вас почесать голову. Здесь следует иметь в виду, что метод Main запускает вашу программу. А Program.cs в обозревателе решений справа — это место, где живет код для Main.

Но мы не будем писать код в файле Program.cs, поэтому его можно закрыть. Взгляните в верхнюю часть окна кодирования, и вы увидите несколько вкладок:

Нажмите X, чтобы закрыть вкладку. Теперь вы должны снова увидеть свою форму (у вас также может быть вкладка "Пуск". Вы можете закрыть ее, если хотите).

Чтобы увидеть окно, в котором вы будете писать большую часть кода, щелкните правой кнопкой мыши Form1.cs в обозревателе решений:

В меню есть опции «Просмотр кода» и «Просмотр дизайнера». Конструктор — это форма, которую вы видите в данный момент. Нажмите «Просмотр кода» в меню, чтобы увидеть следующее окно (вы также можете нажать клавишу F7 на клавиатуре):

Это код самой формы (не обращайте внимания на строки Form1_Load, поскольку у вас их может не быть). Эта форма:

В коде гораздо больше операторов using, чем раньше. Не беспокойтесь об этом пока. Они просто означают «использование уже написанного кода».

Код также говорит о частичном классе Form1. Это частично, потому что некоторый код скрыт от вас. Чтобы увидеть остальную часть (которую нам не нужно изменять), щелкните значок стрелки рядом с Form1.cs в обозревателе решений:

Теперь дважды щелкните Form1.Designer.cs. Вы увидите следующий код:

Снова вы видите частичный класс Form1, который представляет собой остальную часть кода. Щелкните значок плюса рядом с созданным кодом конструктора форм Windows. Вы увидите следующее:

InitializeComponent — это код (метод), который автоматически генерируется при создании нового проекта приложения Windows. По мере добавления в форму таких элементов, как кнопки и текстовые поля, здесь будет добавляться дополнительный код.

Но вам не нужно ничего делать в этом окне, поэтому вы можете щелкнуть правой кнопкой мыши вкладку Form1.Designer.cs вверху и выбрать в меню Закрыть.Или просто нажмите X.

Нажмите на вкладку Form1.cs вверху, чтобы снова увидеть свою форму. Если вкладки нет, щелкните правой кнопкой мыши Form1.cs в обозревателе решений справа. В меню выберите View Designer. Вот на что вам следует обратить внимание:

В режиме конструктора мы будем добавлять в форму такие элементы, как кнопки и текстовые поля. Но вы можете запустить эту программу как есть. В меню «Отладка» вверху нажмите «Начать отладку» (или вы можете просто нажать клавишу F5 на клавиатуре):

С этого момента, когда мы говорим "Запустить программу", мы имеем в виду следующее: либо нажмите F5, либо нажмите "Отладка" > "Начать отладку". Вы также можете выбрать Отладка > Запустить без отладки.

Хорошо, пора начинать добавлять элементы в форму и немного программировать!

В Net Core 3.1.302 сборка dotnet создает файл .exe, который при двойном щелчке в проводнике Windows запускает приложение с видимым окном.

В версии Net 5.0.100 сборка dotnet создает файл .exe, который при двойном щелчке в проводнике Windows запускает приложение, но окно не отображается.

В документации отмечается "* Начиная с .NET 5.0, проекты Windows Forms и Windows Presentation Foundation (WPF) должны указывать .NET SDK (Microsoft.NET.Sdk) вместо Microsoft.NET.Sdk. .WindowsDesktop. Для этих проектов установка для параметра TargetFramework значения net5.0-windows и параметра UseWPF или UseWindowsForms значения true автоматически импортирует пакет SDK для рабочего стола Windows. вы получите предупреждение сборки NETSDK1137." Следуя этим инструкциям и множеству перестановок с/без .WindowsDesktop , TargetFramework , UseWPF , UseWindowsForms -- я ничего не могу сделать для создания консольного приложения, которое при двойном -нажав на .exe, появляется видимое окно для NET 5.

Это проблема, поскольку при открытии .csproj в VS2019.8 и отладке программы с помощью клавиши F5 окна нет. (На самом деле в моем приложении это еще хуже, потому что Read() из stdin возвращает EOF=-1, просто потому, что на самом деле нет видимого/активного окна для приглашения CLI. Я мог бы запустить программу в терминале cmd.exe, а затем подключить отладчик к моей программе, но это королевская боль, и я должен вставить вызовы Sleep() в начале программы, если я хочу отлаживать код запуска.) Если я нажму «Свойства» для «consoleapp» в решении Проводник в VS2019.8, «Тип вывода» — «Приложение Windows», я меняю «Тип вывода» на «Консольное приложение», затем сохраняю. После закрытия и повторного открытия я снова показываю свойства программы — она застряла в «Приложении Windows».

Это консольное приложение, для которого требуется окно, поскольку это программа CLI. По некоторым командам открывается форма Windows. Я могу запустить программу в окне консоли, но не могу отладить запуск программы, потому что нет видимого окна.

Фактический вариант использования — моя программа Trash, похожая на Bash оболочка, но для синтаксического анализа, деревьев синтаксического анализа, рефакторинга грамматики, разработки компилятора, где мне нужно консольное приложение, которое может время от времени отображать декорированные деревья синтаксического анализа с использованием автоматического макета графика. На данный момент отображение AGL находится в процессе, но я могу перейти к набору команд вне процесса, если смогу передавать огромные деревья между процессами с быстрым IPC. Но я не питаю надежд, потому что деревья синтаксического анализа чертовски огромны.

Есть ли способ настроить файл csproj — или где-либо еще — так, чтобы у меня было видимое окно? Почему VS2019.8 считает, что это приложение Windows? Означает ли что-нибудь выход, установленный на «Exe»? Почему настройки приложения VS2019.8 для консольного приложения не сохраняются?

Приложение формы Windows — это приложение, предназначенное для работы на компьютере. Он не будет работать в веб-браузере, потому что тогда он станет веб-приложением.

В этом руководстве по Windows вы узнаете-

Основы Windows Forms

Приложение форм Windows – это приложение, работающее на настольном компьютере. Приложение Windows Forms обычно имеет набор элементов управления, таких как метки, текстовые поля, списки и т. д.

Итак, пример элементов управления, доступных в приведенном выше приложении

  1. Это набор элементов управления метками, которые обычно используются для описания смежных элементов управления. Итак, в нашем случае у нас есть 2 текстовых поля, и метки используются, чтобы сообщить пользователю, что одно текстовое поле предназначено для ввода имени пользователя, а другое — для пароля.
  2. Два текстовых поля используются для хранения имени пользователя и пароля, которые вводит пользователь.
  3. Наконец у нас есть кнопка. Обычно к элементу управления «кнопка» прилагается некоторый код для выполнения определенного набора действий. Так, например, в приведенном выше случае мы могли бы заставить кнопку выполнять действие по проверке имени пользователя и пароля, которые вводит пользователь.

Теперь давайте рассмотрим пример того, как мы можем реализовать простое приложение "hello world" в Visual Studio.Для этого нам нужно будет выполнить следующие шаги

Шаг 1. Первый шаг включает создание нового проекта в Visual Studio. После запуска Visual Studio вам нужно выбрать пункт меню New->Project.

Шаг 2. Следующим шагом является выбор типа проекта в качестве приложения Windows Forms. Здесь нам также нужно указать название и местонахождение нашего проекта.

  1. В диалоговом окне проекта мы видим различные параметры для создания различных типов проектов в Visual Studio. Выберите вариант Windows слева.
  2. Когда мы щелкнем параметры Windows на предыдущем шаге, мы сможем увидеть параметр для приложения Windows Forms. Выберите этот вариант.
  3. Мы дадим имя приложению. В нашем случае это DemoApplication. Мы также предоставим место для хранения нашего приложения.
  4. Наконец, мы нажимаем кнопку "ОК", чтобы позволить Visual Studio создать наш проект.

Если выполнить описанные выше шаги, вы получите следующий вывод в Visual Studio.

Вывод:-

Вы увидите конструктор форм, отображаемый в Visual Studio. Именно в этом конструкторе форм вы начнете создавать приложение Windows Forms.

В обозревателе решений вы также сможете увидеть решение DemoApplication. Это решение будет содержать следующие 2 файла проекта

  1. Приложение Form с именем Forms1.cs. Этот файл будет содержать весь код приложения Windows Form.
  2. Основная программа с именем Program.cs — это файл кода по умолчанию, который создается при создании нового приложения в Visual Studio. Этот код будет содержать код запуска для приложения в целом.

В левой части Visual Studio вы также увидите панель инструментов. Панель инструментов содержит все элементы управления, которые можно добавить в Windows Forms. Такие элементы управления, как текстовое поле или метка, — это лишь некоторые из элементов управления, которые можно добавить в Windows Forms.

Ниже показан снимок экрана, на котором показано, как выглядит панель инструментов.

Шаг 3. На этом шаге мы добавим к форме метку, которая будет отображать «Hello World». На панели инструментов вам нужно будет выбрать элемент управления Label и просто перетащить его на форму.

После того, как вы перетащите метку на форму, вы увидите метку, встроенную в форму, как показано ниже.

Шаг 4. Следующим шагом является переход к свойствам элемента управления и изменение текста на «Hello World».

Чтобы перейти к свойствам элемента управления, необходимо щелкнуть его правой кнопкой мыши и выбрать пункт меню "Свойства"

  • Панель свойств также отображается в Visual Studio. Итак, для элемента управления меткой в ​​элементе управления свойствами перейдите в раздел «Текст» и введите «Hello World».
  • Каждый элемент управления имеет набор свойств, описывающих элемент управления.

Если вы выполните все вышеперечисленные шаги и запустите свою программу в Visual Studio, вы получите следующий результат

Вывод:-

В выводе видно, что отображается форма Windows. Вы также можете увидеть, что в форме отображается надпись «Hello World».

Добавление элементов управления в форму

Мы уже видели, как добавить элемент управления в форму, когда добавляли элемент управления "Ярлык" в предыдущем разделе для отображения "Hello World".

Давайте рассмотрим другие элементы управления, доступные для форм Windows, и рассмотрим некоторые из их общих свойств.

Итак, давайте подробно рассмотрим каждый элемент управления и добавим их для создания формы с вышеупомянутыми функциями.

Групповое поле

Групповой блок используется для логической группировки элементов управления в раздел. Давайте возьмем пример, если у вас есть набор элементов управления для ввода таких сведений, как имя и адрес человека. В идеале это сведения о человеке, поэтому вы хотели бы иметь эти данные в отдельном разделе формы. Для этой цели у вас может быть групповой ящик. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже

Шаг 1. Первым шагом является перетаскивание элемента управления Groupbox на форму Windows из панели инструментов, как показано ниже

Шаг 2. После добавления группового поля перейдите в окно свойств, щелкнув элемент управления групповым полем. В окне свойств перейдите к свойству «Текст» и измените его на «Сведения о пользователе».

После внесения вышеуказанных изменений вы увидите следующий результат

Вывод:-

В выводе отчетливо видно, что групповой ящик был добавлен в форму. Вы также можете видеть, что текст группового поля был изменен на «Сведения о пользователе».

Контроль ярлыков

Далее идет элемент управления ярлыками. Элемент управления label используется для отображения текста или сообщения пользователю в форме. Элемент управления Label обычно используется вместе с другими элементами управления. Типичными примерами являются добавление метки вместе с элементом управления текстовым полем.

Эта метка указывает пользователю, что должно быть заполнено в текстовом поле. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже.Мы добавим 2 ярлыка, один из которых будет называться «имя», а другой — «адрес». Они будут использоваться вместе с элементами управления текстовыми полями, которые будут добавлены в следующем разделе.

Шаг 1) Первый шаг — перетащить элемент управления меткой на форму Windows из панели инструментов, как показано ниже. Убедитесь, что вы перетащили элемент управления меткой 2 раза, чтобы у вас был один для «имени», а другой для «адреса».

Шаг 2) После добавления метки перейдите в окно свойств, щелкнув элемент управления меткой. В окне свойств перейдите к свойству Text каждого элемента управления меткой.

После внесения вышеуказанных изменений вы увидите следующий результат

Вывод:-

Вы можете увидеть элементы управления ярлыками, добавленные в форму.

Текстовое поле

Шаг 1. Первым шагом является перетаскивание элемента управления текстовым полем на форму Windows из панели инструментов, как показано ниже

Шаг 2) После добавления текстовых полей перейдите в окно свойств, щелкнув элемент управления текстовым полем. В окне свойств перейдите к свойству Name и добавьте осмысленное имя в каждое текстовое поле. Например, назовите текстовое поле для пользователя как txtName, а поле для адреса — как txtAddress. Для элементов управления необходимо разработать соглашение об именах и стандарт, потому что становится проще добавлять к этим элементам дополнительные функции, которые мы увидим позже.

После внесения вышеуказанных изменений вы увидите следующий результат

Вывод:-

В выводе вы можете ясно видеть, что текстовые поля были добавлены в форму.

Список

Список используется для демонстрации списка элементов в форме Windows. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим в форму окно со списком для хранения местоположений некоторых городов.

Шаг 1. Первым шагом является перетаскивание элемента управления списком на форму Windows из панели инструментов, как показано ниже

Шаг 2. После добавления списка перейдите в окно свойств, щелкнув элемент управления списком.

  1. Сначала измените свойство элемента управления Listbox, в нашем случае мы изменили его на lstCity
  2. Нажмите на свойство Items. Это позволит вам добавлять различные элементы, которые могут отображаться в списке. В нашем случае мы выбрали элементы «коллекция».
  3. В появившемся редакторе коллекции строк введите названия городов. В нашем случае мы ввели «Мумбаи», «Бангалор» и «Хайдарабад».
  4. Наконец нажмите кнопку "ОК".

После внесения вышеуказанных изменений вы увидите следующий результат

Вывод:-

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

Радиокнопка

Радиокнопка используется для демонстрации списка элементов, из которых пользователь может выбрать один. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим переключатель для мужского/женского варианта.

Шаг 1. Первым шагом является перетаскивание элемента управления «радиокнопка» на форму Windows из панели инструментов, как показано ниже.

Шаг 2. После добавления радиокнопки перейдите в окно свойств, щелкнув элемент управления Radiobutton.

  1. Во-первых, вам нужно изменить текстовое свойство обоих элементов управления Radio. Перейдите в окно свойств и измените текст одного переключателя на мужской, а текст другого на женский.
  2. Аналогичным образом измените свойство name обоих элементов управления Radio. Перейдите в окно свойств и измените имя на «rdMale» для одного переключателя и на «rdfemale» для другого.

После внесения вышеуказанных изменений вы увидите следующий вывод

Вывод:-

Вы увидите переключатели, добавленные в форму Windows.

Флажок

Шаг 1. Первым шагом является перетаскивание флажка на форму Windows из панели инструментов, как показано ниже

Шаг 2. После добавления флажка перейдите в окно свойств, щелкнув элемент управления Checkbox.

В окне свойств

После внесения вышеуказанных изменений вы увидите следующий результат

Вывод:-

Кнопка

Кнопка позволяет пользователю нажать на кнопку, после чего начнется обработка формы. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим простую кнопку «Отправить», которая будет использоваться для отправки всей информации в форме.

Шаг 1. Первым шагом является перетаскивание элемента управления "Кнопка" на форму Windows из панели инструментов, как показано ниже

Шаг 2. После добавления кнопки перейдите в окно свойств, щелкнув элемент управления "Кнопка".

  1. Во-первых, вам нужно изменить свойство текста элемента управления "Кнопка". Перейдите в окно свойств и измените текст на «отправить».
  2. Аналогичным образом измените свойство имени элемента управления. Перейдите в окно свойств и измените имя на «btnSubmit».

После внесения вышеуказанных изменений вы увидите следующий результат

Вывод:-

Поздравляем, теперь у вас есть первая базовая форма Windows Form. Теперь давайте перейдем к следующему разделу, чтобы узнать, как мы можем выполнять обработку событий для элементов управления.

Обычно нажатие кнопки в форме означает, что должна произойти какая-то обработка.

Давайте рассмотрим одно из событий и то, как его можно обработать, прежде чем мы перейдем к сценарию события кнопки.

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

Шаг 1) Дважды щелкните список в дизайнере форм. Сделав это, Visual Studio автоматически откроет файл кода для формы. И он автоматически добавит в код метод события. Этот метод события будет срабатывать при выборе любого элемента в списке.

Выше приведен фрагмент кода, который автоматически добавляется Visual Studio при двойном щелчке элемента управления "Поле списка" в форме. Теперь давайте добавим приведенный ниже фрагмент кода к этому фрагменту кода, чтобы добавить необходимую функциональность в событие списка.

  1. Это метод обработчика событий, который автоматически создается Visual Studio при двойном щелчке элемента управления "Список". Вам не нужно беспокоиться о сложности имени метода или параметрах, передаваемых методу.
  2. Здесь мы получаем SelectedItem через свойство lstCity.SelectedItem. Помните, что lstCity — это имя нашего элемента управления Listbox. Затем мы используем метод GetItemText для получения фактического значения выбранного элемента. Затем мы присваиваем это значение текстовой переменной.
  3. Наконец, мы используем метод MessageBox для отображения значения текстовой переменной пользователю.

После внесения вышеуказанных изменений и запуска программы в Visual Studio вы увидите следующий вывод

Вывод:-

Из вывода видно, что при выборе любого элемента из списка появляется всплывающее окно сообщения. Это покажет выбранный элемент из списка.

Теперь давайте посмотрим на последний элемент управления, который представляет собой метод нажатия кнопки. Опять же, это следует той же философии. Просто дважды щелкните кнопку в конструкторе форм, и он автоматически добавит метод для обработчика событий кнопки. Затем вам просто нужно добавить приведенный ниже код.

  1. Это метод обработчика событий, который автоматически создается Visual Studio при двойном щелчке элемента управления "Кнопка". Вам не нужно беспокоиться о сложности имени метода или параметров, передаваемых в метод.
  2. Здесь мы получаем значения, введенные в текстовое поле имени и адреса. Значения можно взять из свойства text текстового поля. Затем мы присваиваем значения двум переменным, имени и адресу соответственно.
  3. Наконец, мы используем метод MessageBox, чтобы отобразить пользователю значения имени и адреса.

После внесения вышеуказанных изменений и запуска программы в Visual Studio вы увидите следующий вывод

Вывод:-

  1. Сначала введите значение в поле имени и адреса.
  2. Затем нажмите кнопку "Отправить".

После того, как вы нажмете кнопку "Отправить", откроется окно сообщения, в котором правильно будет показано, что вы ввели в разделе сведений о пользователе.

Дерево и элемент управления PictureBox

Есть еще 2 элемента управления, на которые мы можем обратить внимание: один — "Дерево", а другой — "Изображение". Давайте посмотрим на примеры того, как мы можем реализовать эти элементы управления

Управление деревом

– Элемент управления деревом используется для перечисления элементов в виде дерева, такого как мода. Вероятно, лучший пример — это когда мы видим сам проводник Windows. Структура папок в Проводнике Windows похожа на древовидную структуру.

Давайте посмотрим, как это реализовать, на примере, показанном ниже.

Шаг 1. Первым шагом является перетаскивание элемента управления "Дерево" на форму Windows из панели инструментов, как показано ниже

Шаг 2. Следующим шагом является добавление узлов в коллекцию дерева, чтобы она могла соответственно появиться в дереве. Во-первых, давайте выполним следующие подшаги, чтобы добавить корневой узел в коллекцию дерева.

  1. Перейдите к панели инструментов свойств для элемента управления представлением в виде дерева. Нажмите на свойство узла. Откроется редактор TreeNode.
  2. В редакторе узла дерева нажмите кнопку "Добавить корень", чтобы добавить корневой узел в коллекцию дерева.
  3. Далее измените текст корневого узла, укажите текст как корневой и нажмите кнопку «ОК». Это добавит корневой узел.

Шаг 3. Следующим шагом будет добавление дочерних узлов в коллекцию дерева. Давайте выполним следующие подшаги, чтобы добавить дочерний корневой узел в коллекцию дерева.

  1. Сначала нажмите кнопку "Добавить дочерний элемент". Это позволит вам добавлять дочерние узлы в коллекцию Tree.
  2. Для каждого дочернего узла измените свойство text.Продолжайте повторять предыдущий шаг и этот шаг и добавьте 2 дополнительных узла. В итоге у вас будет 3 узла, как показано выше, с текстом в виде метки, кнопки и флажка соответственно.
  3. Нажмите кнопку "ОК".

После внесения вышеуказанных изменений вы увидите следующий вывод.

Вывод:-

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

Элемент управления PictureBox

Шаг 2. Следующим шагом является фактическое прикрепление изображения к элементу управления Picture Box. Это можно сделать, выполнив следующие действия.

Как заставить форму Windows создать окно консоли

Я могу создать консольное приложение и добавить формы Windows. Это сработало хорошо. Однако мне пришлось изменить тип приложения на «приложение Windows», чтобы получить функциональность заставки. Теперь у меня нет окна консоли.

изменение типа приложения на окно консоли в приложении WinForms запустит не только ваше приложение WinForm, но и вместе с ним окно консоли, чтобы вы могли отображать в нем выходные данные или принимать от него входные данные и т. д. Изменение обратно на приложение Windows не показывает окно консоли при запуске приложения.

вы не можете просто "показать" окно консоли, я думаю.

Создать консольное приложение

Добавить ссылку на system.windows.forms

Создайте форму Windows, которая будет выступать в качестве экрана-заставки

Напишите код приложения для вызова формы экрана-заставки

Sub Main()
Dim x As New SplashScreen1
x.Show()
Threading.Thread.Sleep(2000)
x.Close()< br />
Затемнить abc As Integer = 1

Dim a = Console.ReadLine
End Sub

Что вы не получите, так это функциональность экрана-заставки по умолчанию, так как платформа приложений Windows Forms недоступна для консольных приложений, поэтому вы не можете просто установить свойство для указания экрана-заставки, но консольное приложение может отображать форму с соответствующими ссылками. Так что это возможно.

Приведенный выше код не является окончательным кодом, а просто демонстрирует концепцию вызова формы Windows для экрана-заставки из консольного приложения.

Большое спасибо за ваш пост, он объясняет, почему у меня нет опции для заставки в консольном приложении.

Однако то, что я действительно ищу, — это возможность иметь кнопку в форме, которая будет открывать консоль (и закрывать ее, если это необходимо), где приложение будет выводить более подробную информацию об отладке. Мое приложение выводит отладочную информацию на консоль во время работы. В Visual Studio вывод сбрасывается в непосредственное окно, если я не запустил консоль, но, конечно же, немедленное окно недоступно, когда приложение работает вне Visual Studio.

Ваше решение очень полезно, но оно означает, что консоль всегда будет включена, если вы понимаете, о чем я. Я хочу скрыть его, пока он не понадобится.

Есть ли способ перенаправить вывод консоли в текстовое поле в форме Windows?

Вы можете перенаправить потоки ввода/вывода для консоли в текстовое поле.

Небольшой вопрос.

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

Часть того, что делает Visual Studio, — это отображение вывода консоли, поскольку в нем запущено приложение командной строки. Примером этого является VBC.exe, который является компилятором командной строки VBC. Ваш проект VS в конечном итоге компилируется с использованием компилятора командной строки, поэтому в этом окне показан фактический процесс, выполняемый для компиляции приложения.

Функциональность — это то, что отображается в окне. Думайте об этом как о методе Process.start или оболочке, вызываемом компилятором командной строки VBC.exe.

Если вы хотите иметь приложение Windows, которое будет запускать консольное приложение, вы можете просто использовать либо метод system.diagnostic,process.start, либо команду оболочки для выполнения второго приложения, которое будет консольным приложением.

Но если он предоставляет дополнительную информацию для запущенного в данный момент приложения, это выглядит немного странно.

Читайте также: