猿问

在Windows应用程序中显示控制台?


在Windows应用程序中显示控制台?

是否有方法在Windows应用程序中显示控制台?

我想做这样的事:

static class Program{
    [STAThread]
    static void Main(string[] args) {
        bool consoleMode = Boolean.Parse(args[0]);

        if (consoleMode) {
            Console.WriteLine("consolemode started");
            // ...
        } else {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }}


绝地无双
浏览 435回答 3
3回答

宝慕林4294392

免责声明有一种方法可以实现这一点,这是相当简单的,但我不认为这是一个很好的方法,你要让别人看到的应用程序。但是,如果您有一些开发人员需要同时显示控制台和windows窗体,这是非常容易的。此方法还支持只显示控制台窗口,但不支持只显示Windows窗体-即控制台将始终显示。你只能互动(即接收数据-Console.ReadLine(), Console.Read())在控制台窗口中,如果不显示windows窗体,则输出到控制台-Console.WriteLine()-这两种模式都有效。这是按原样提供的;不能保证这以后不会做一些可怕的事情,但它确实有效。项目步骤从标准开始控制台应用.标记Main方法AS[STAThread]在项目中添加引用到System.Windows.Forms添加Windows形式为你的项目干杯。将标准Windows启动代码添加到Main方法:最终结果您将拥有一个显示控制台和可选窗口窗体的应用程序。样本码Program.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;namespace ConsoleApplication9 {     class Program {         [STAThread]         static void Main(string[] args) {             if (args.Length > 0 && args[0] == "console") {                 Console.WriteLine("Hello world!");                 Console.ReadLine();             }             else {                 Application.EnableVisualStyles();                  Application.SetCompatibleTextRenderingDefault(false);                  Application.Run(new Form1());             }         }     }}Form1.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace ConsoleApplication9 {     public partial class Form1 : Form {         public Form1() {             InitializeComponent();         }         private void Form1_Click(object sender, EventArgs e) {             Console.WriteLine("Clicked");         }     }}
随时随地看视频慕课网APP
我要回答