Консоль в windows forms - C#
Формулировка задачи:
Всем привет. Подскажите как решить задачку. В приложении windows forms пытаюсь чтобы при нажатии на кнопку отрабатывалось мое приложение. А именно цикл, вызов консоли. Если делаю цикл, то приложение просто виснет. Хотя оно же созданное в шаблоне console работает нормально. Так вот я до минимума все урезал чтобы просто посмотреть выведется ли при нажатии на кнопку моя консоль - фиг. Вылетает с ошибкой. Что я делаю не так?
System.InvalidOperationException не обработано
Message=Невозможно считывать клавиши, когда любое приложение не имеет консоли или ввод данных на консоли был переадресован из файла. Попробуйте использовать Console.Read.
private void button1_Click(object sender, EventArgs e) { System.Console.WriteLine("Сработал триггер LONG"); System.Console.ReadKey(); }
Решение задачи: «Консоль в windows forms»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Diagnostics; using System.IO; using Microsoft.Win32; using System.Net; using System.Runtime.InteropServices; namespace TEST { public partial class Form1 : Form { public Form1() { InitializeComponent(); Task.Factory.StartNew(Console); } [DllImport("kernel32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool AllocConsole(); [DllImport("kernel32.dll", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool FreeConsole(); private void Console() { if (AllocConsole()) { System.Console.WriteLine("Введите текст"); string a = System.Console.ReadLine(); System.Console.WriteLine("Вы ввели: " a); System.Console.ReadLine(); FreeConsole(); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д