Консоль в windows forms - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет. Подскажите как решить задачку. В приложении windows forms пытаюсь чтобы при нажатии на кнопку отрабатывалось мое приложение. А именно цикл, вызов консоли. Если делаю цикл, то приложение просто виснет. Хотя оно же созданное в шаблоне console работает нормально. Так вот я до минимума все урезал чтобы просто посмотреть выведется ли при нажатии на кнопку моя консоль - фиг. Вылетает с ошибкой. Что я делаю не так?
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. System.Console.WriteLine("Сработал триггер LONG");
  4. System.Console.ReadKey();
  5. }
System.InvalidOperationException не обработано Message=Невозможно считывать клавиши, когда любое приложение не имеет консоли или ввод данных на консоли был переадресован из файла. Попробуйте использовать Console.Read.

Решение задачи: «Консоль в windows forms»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Diagnostics;
  11. using System.IO;
  12. using Microsoft.Win32;
  13. using System.Net;
  14. using System.Runtime.InteropServices;
  15.  
  16. namespace TEST
  17. {
  18.     public partial class Form1 : Form
  19.     {
  20.         public Form1()
  21.         {
  22.             InitializeComponent();
  23.             Task.Factory.StartNew(Console);
  24.         }
  25.  
  26.         [DllImport("kernel32.dll", SetLastError = true)]
  27.         [return: MarshalAs(UnmanagedType.Bool)]
  28.         private static extern bool AllocConsole();
  29.  
  30.         [DllImport("kernel32.dll", SetLastError = true)]
  31.         [return: MarshalAs(UnmanagedType.Bool)]
  32.         private static extern bool FreeConsole();
  33.  
  34.  
  35.  
  36.         private void Console()
  37.         {
  38.            
  39.             if (AllocConsole())
  40.             {
  41.                System.Console.WriteLine("Введите текст");
  42.                 string a = System.Console.ReadLine();
  43.                 System.Console.WriteLine("Вы ввели: " a);
  44.  
  45.                 System.Console.ReadLine();
  46.  
  47.  
  48.  
  49.                 FreeConsole();
  50.             }
  51.         }
  52.     }
  53. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут