- Windows forms как открыть консоль
- Как создать Windows Forms приложение из командной строки How to: Create a Windows Forms application from the command line
- Процедура Procedure
- Создание формы To create the form
- Компиляция и запуск приложения To compile and run the application
- Добавление элемента управления и обработка события Adding a control and handling an event
- Объявление элемента управления типа «Кнопка» и обработка событий щелчка мышью для нее To declare a button control and handle its click event
- Пример Example
- Как отобразить вывод/окно консоли в приложении forms?
- 9 ответов:
- Вызов консоли в WinForm приложении
- Решение
- Решение
Windows forms как открыть консоль
Доброго времени суток мои читатели! Сегодня мы поговорим о том, как добавить консоль параллельно с нашим проектом Windows Forms на языке C#.
Иногда появляется такая нужда, чтобы в проекте Windows Forms присутствовала консоль (к примеру для банального Debug’a), и у меня она появилась. Речь пойдет всё о том же FileSystemWatcher и консоли. В процессе написания программы на этапе сращивания с 1С я встретился с одной не маловажной проблемой, файлы, которые поступали из 1С не попадали в мою программу, у меня сразу встал вопрос в чём же дело!? После некоторых манипуляций я просто написал на C# в консольном проекте моего FileSystemWatcher и тут я понял в чем была моя ошибка. Наша 1С создает некий файл с расширением .tmp, а фильтр программы отслеживал только файлы расширения .sav, через секунду .tmp файл становился .sav файлом. Мой самый первый FileSystemWatcher в консольном режиме отслеживал изменения OnChanged с фильтром «*.sav», после того, как я установил фильтр следующего типа «*.*» я получал сообщения о событии OnChanged со следующим текстом : «Файл : neworder.tmp создан», то есть получается, что файловая система отслеживала файл .tmp, но папка не показывала мне этого файла и в конечном варианте мы видели уже файл .sav я понял, что файловая система следом за событием OnChanged она делает OnRenamed и переименовывает .tmp файл в .sav.
Далее я добавил функцию OnRenamed и она действительно регистрировала переименование файла. В тот момент, я решил, что хорошо было бы иметь консоль в моем приложении чтобы смотреть, какие события она логирует. Итак, в нашем приложении мы имеем файл с настройками в него я прописал также и консоль, чтобы её можно было отключить в случае не надобности или боевого запуска на системе.
Файл с настройками имеет следующий вид :
User’s settings
Sborka Screen ver 1.0
by ZombieVDK
path folder =
$B:\sb
sborka = true
fritur = false
Number block = 8
Debug Console status :Disabled
public void consondeb()
IntPtr stdHandle = NativeMethods.GetStdHandle(NativeMethods.STD_OUTPUT_HANDLE);
Console.WriteLine(«sbscreen.exe — Debug Console v0.01 — ZombieVDK»);
Console.WriteLine(«Debug Console будет следить за папкой в режиме Debug для отслеживание событий : \r\nOnChanged\r\nOnRenamed\r\nOnDelete\r\nAnother»);
Console.WriteLine(«Для деактивации консоли перейдите в настройки и произведите отключение.»);
Console.WriteLine(«Параметры программы : \r\nПуть = » + pathme + «\r\nСтатус Фритюра = » + fwatch +»\r\nСтатус сборки = » + watch);
После того, как мы создали эту функцию, Надо ещё прописать класс NativeMethods :
public partial class NativeMethods
<
public static Int32 STD_OUTPUT_HANDLE = -11;
[System.Runtime.InteropServices.DllImportAttribute(«kernel32.dll», EntryPoint = «GetStdHandle»)]
public static extern System.IntPtr GetStdHandle(Int32 nStdHandle);
[System.Runtime.InteropServices.DllImportAttribute(«kernel32.dll», EntryPoint = «AllocConsole»)]
public static extern bool AllocConsole();
>
На этом все, теперь в нашем проекте будет запускаться консоль параллельно с Windows Forms! Вот наш результат:
На этом наш урок закончен! До новых встреч! 🙂
Как создать Windows Forms приложение из командной строки How to: Create a Windows Forms application from the command line
В процедурах ниже описаны основные шаги, которые необходимо выполнить для создания и запуска приложения Windows Forms из командной строки. The following procedures describe the basic steps that you must complete to create and run a Windows Forms application from the command line. Visual Studio предлагает расширенную поддержку этих процедур. There is extensive support for these procedures in Visual Studio. См. также раздел Пошаговое руководство. размещение элемента управления Windows Forms в WPF. Also see Walkthrough: Hosting a Windows Forms Control in WPF.
Процедура Procedure
Создание формы To create the form
В пустом файле кода введите следующую Imports using инструкцию или: In an empty code file, type the following Imports or using statements:
Объявите класс с именем Form1 , наследуемый от класса Form: Declare a class named Form1 that inherits from the Form class:
Создайте конструктор без параметров для Form1 . Create a parameterless constructor for Form1 .
В следующий процедуре будет добавлен дополнительный код конструктора. You will add more code to the constructor in a subsequent procedure.
Добавьте в класс метод Main . Add a Main method to the class.
Примените STAThreadAttribute к Main методу C#, чтобы указать Windows Forms приложение является однопотоковым апартаментом. Apply the STAThreadAttribute to the C# Main method to specify your Windows Forms application is a single-threaded apartment. (Атрибут не является обязательным в Visual Basic, так как приложения Windows Forms, разработанные с помощью Visual Basic, по умолчанию используют модель апартамента с одним потоком.) (The attribute is not necessary in Visual Basic, since Windows forms applications developed with Visual Basic use a single-threaded apartment model by default.)
Вызовите EnableVisualStyles , чтобы применить стили операционной системы к приложению. Call EnableVisualStyles to apply operating system styles to your application.
Создайте экземпляр формы и запустите его. Create an instance of the form and run it.
Компиляция и запуск приложения To compile and run the application
В командной строке .NET Framework перейдите к папке, в которой содержится класс Form1 . At the .NET Framework command prompt, navigate to the directory you created the Form1 class.
Скомпилируйте форму. Compile the form.
Если используется C#, введите: csc form1.cs If you are using C#, type: csc form1.cs
При использовании Visual Basic введите: vbc form1.vb If you are using Visual Basic, type: vbc form1.vb
В командной строке введите следующий текст: Form1.exe . At the command prompt, type: Form1.exe
Добавление элемента управления и обработка события Adding a control and handling an event
В предыдущей процедуре продемонстрировано, как создать простейшую форму Windows Forms, скомпилировать и запустить ее. The previous procedure steps demonstrated how to just create a basic Windows Form that compiles and runs. В следующей процедуре будет показано, как создать и добавить в форму элемент управления и как обрабатывать событие для него. The next procedure will show you how to create and add a control to the form, and handle an event for the control. Дополнительные сведения об элементах управления, которые можно добавить в Windows Forms, см. в разделе элементы управления Windows Forms. For more information about the controls you can add to Windows Forms, see Windows Forms Controls.
Помимо понимания способов создания приложений Windows Forms, следует обладать общими знаниями о программировании на основе событий и способах обработки данных, введенных пользователем. In addition to understanding how to create Windows Forms applications, you should understand event-based programming and how to handle user input. Дополнительные сведения см. в статьях Создание обработчиков событий в Windows Formsи обработка входных данных пользователя . For more information, see Creating Event Handlers in Windows Forms, and Handling User Input
Объявление элемента управления типа «Кнопка» и обработка событий щелчка мышью для нее To declare a button control and handle its click event
Объявите элемент управления типа «Кнопка» с именем button1 . Declare a button control named button1 .
В конструкторе создайте кнопку и задайте ее свойства Size, Location и Text. In the constructor, create the button and set its Size, Location and Text properties.
Добавьте кнопку в форму. Add the button to the form.
В следующем примере кода показано, как объявить элемент управления Button: The following code example demonstrates how to declare the button control:
Создайте метод для обработки события Click для кнопки. Create a method to handle the Click event for the button.
В обработчике событий щелчка мышью выведите элемент управления MessageBox с сообщением «Здравствуй, мир». In the click event handler, display a MessageBox with the message, «Hello World».
В следующем примере кода показано, как обрабатывается событие Click элемента управления Button: The following code example demonstrates how to handle the button control’s click event:
Свяжите событие Click с созданным методом. Associate the Click event with the method you created.
В примере кода ниже показано, как связать событие с методом. The following code example demonstrates how to associate the event with the method.
Скомпилируйте и запустите приложение, как описано в предыдущей процедуре. Compile and run the application as described in the previous procedure.
Пример Example
В следующем примере кода приведен полный пример из предыдущих процедур. The following code example is the complete example from the previous procedures:
Как отобразить вывод/окно консоли в приложении forms?
застрять сразу, очень простой пример:
если я скомпилирую это с параметрами по умолчанию (используя csc в командной строке), как и ожидалось, он будет компилироваться в консольное приложение. Кроме того, потому что я импортировал System.Windows.Forms , Он также покажет окно сообщения.
теперь, если я использую опцию /target:winexe Я думаю, что это то же самое, что Windows Application из параметров проекта, как и ожидалось, я буду видеть только окно сообщения и не выводить консоль.
(In факт, в тот момент, когда он запускается из командной строки, я могу выдать следующую команду, прежде чем приложение даже завершится).
Итак, мой вопрос — я знаю, что вы можете иметь вывод «windows»/forms из консольного приложения, но есть ли в любом случае, чтобы показать консоль из приложения Windows?
9 ответов:
создать проект Windows Form.
Затем: Свойства Проекта — > Приложение — > Тип Вывода — > Консольное Приложение
тогда может иметь консоль и формы, работающие вместе, работает для меня
Если вы не беспокоитесь об открытии консоли по команде, вы можете перейти в свойства для вашего проекта и изменить его на консольное приложение
Это будет по-прежнему показывать вашу форму, а также выскакивает окно консоли. Вы не можете закрыть окно консоли, но он работает как отличный временный регистратор для отладки.
просто не забудьте выключить его перед развертыванием программы.
можно назвать AttachConsole использование pinvoke для подключения окна консоли к проекту WinForms:http://www.csharp411.com/console-output-from-winforms-application/
вы также можете рассмотреть Log4net ( http://logging.apache.org/log4net/index.html) для настройки вывода журнала в различных конфигурациях.
это сработало для меня, чтобы передать вывод в файл. Вызовите консоль с помощью
cmd /c «C:\path\to\your\application.exe » > myfile.txt
добавьте этот код в приложение.
есть в основном две вещи, которые могут произойти здесь.
вывод на консоль Программа winforms может присоединяться к создавшему ее консольному окну (или к другому консольному окну, или даже к новому консольному окну, если это необходимо). После подключения к консоли окна консоли.WriteLine () etc работает так, как ожидалось. Один из них заключается в том, что программа немедленно возвращает управление в окно консоли, а затем продолжает писать в него, поэтому пользователь может также введите в окне консоли. Вы можете использовать start с параметром /wait, чтобы справиться с этим, я думаю.
перенаправление вывода консоли Это когда кто-то передает вывод из вашей программы куда-то еще, например.
прикрепление к окну консоли в этом случае эффективно игнорирует трубопроводы. Чтобы сделать эту работу вы можете вызвать консоль.OpenStandardOutput() для получения дескриптора поток, в который должен передаваться вывод. Это работает только в том случае, если вывод передается по конвейеру, поэтому, если вы хотите обработать оба сценария, вам нужно открыть стандартный вывод и записать его и прикрепить к окну консоли. Это означает, что вывод отправляется в окно консоли и в трубу, но это лучшее решение, которое я мог найти. Ниже код, который я использую для этого.
Вызов консоли в WinForm приложении
Как переделать с консоли на WinForm?
Первое слово в строке перевести в верхний регистр(большие буквы), как это реализовать в WinForm .
Вызов форм из консоли
Здравствуйте, уже неделю пытаюсь решить задачу, но пока результатов мало.. Задание: вызвать из.
Вызов консоли с winforms
мне нужно ввести несколько параметров с консоли в проекте winforms, но после первого ввода выдает.
Вызов из консоли системы
Добрый день всем. Скажу сразу — я любитель. C# — мое хобби что ли. Вопрос: Есть форма.
конечно реально. Какую именно консоль?
если просто консольное приложение надо:
Обычную консоль, как в консольном приложении.
Например ,что-бы считать данные можно было так :
как вызвать я написал, а как обеспечить синхронизацию ,сам придумай. Варианты есть разные.
Можешь через временный фаил.
Вот ещё почитай, хотя там тоже самое что я написал.
Запуск консольного приложения из WindowsForm
или ты как объект(класс объявить) хочешь в винформсе создать консль?
Именно это и хочу .
Идея в следующем :
Есть основная форма . В определенный момент она должна открыть консоль и считать оттуда введенные данные .
Решение
Решение
Спасибо огромное ,именно то что нужно было.
В Шилдте или Троелсене такого вроде нет.
И вопрос — когда создается консольное приложение то тоже импортируется эта библиотека?
где вы инфу по таким вещам берете? Имею в виду:
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Вызов winform из unity
Как из юнити приложения вызвать винформ? просто подключить using System.Windows.Forms; а затем.
Вывод консоли в оконном приложении
Мне нужно затестировать как работает функция, т.е. выводить каждую операцию. Что — то.
Вызов функции в .NET-приложении
Нужно решить не особо сложную задачу из умножения матриц. Решил использовать для этой цели matlab.
Вызов действия в стороннем приложении
можно ли как-то вызвать действие чтобы файл его выполил?