为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
绝地无双 2019-07-25 14:14:47
在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());         }     }}
查看完整描述

3 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

免责声明

有一种方法可以实现这一点,这是相当简单的,但我不认为这是一个很好的方法,你要让别人看到的应用程序。但是,如果您有一些开发人员需要同时显示控制台和windows窗体,这是非常容易的。

此方法还支持只显示控制台窗口,但不支持只显示Windows窗体-即控制台将始终显示。你只能互动(即接收数据-Console.ReadLine()Console.Read())在控制台窗口中,如果不显示windows窗体,则输出到控制台-Console.WriteLine()-这两种模式都有效。

这是按原样提供的;不能保证这以后不会做一些可怕的事情,但它确实有效。

项目步骤

从标准开始控制台应用.

标记Main方法AS[STAThread]

在项目中添加引用到System.Windows.Forms

添加Windows形式为你的项目干杯。

将标准Windows启动代码添加到Main方法:

最终结果

您将拥有一个显示控制台和可选窗口窗体的应用程序。

样本码

Program.cs

using 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.cs

using 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");
        }
    }}




查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 434 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信