C# 如何在Winforms中包含控制台?
我想在Winform中嵌入一个控制台窗口。有什么方法可以做到这一点吗?您需要做的就是调用windows API函数AllocConsloe,然后使用普通的控制台类这里是表单代码C# 如何在Winforms中包含控制台?,c#,winforms,console,C#,Winforms,Console,我想在Winform中嵌入一个控制台窗口。有什么方法可以做到这一点吗?您需要做的就是调用windows API函数AllocConsloe,然后使用普通的控制台类这里是表单代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using
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;
using System.Runtime.InteropServices;
namespace waTest
{
public partial class Form1 : Form
{
[DllImport("Kernel32.dll")]
static extern Boolean AllocConsole( );
public Form1( )
{
InitializeComponent();
}
private void Form1_Load( object sender, EventArgs e )
{
if ( !AllocConsole() )
MessageBox.Show("Failed");
Console.WriteLine("test");
string input = Console.ReadLine();
MessageBox.Show(input);
}
}
}
基本上可以通过以下方式实现:
@重新运行,怎么回事,它找不到Kernal32.dll?这是一个x86系统。@重新运行,必须是我将其设置为控制台应用程序,而不是winforms应用程序。我假设Form1_Load应该在窗体加载时运行,对吗?如何使其运行?。只需创建一个带有1个表单的winforms应用程序,然后双击该表单,它将为您创建一个表单加载。但是,您可以在任何位置调用allocconsle,因为只有一个控制台可以与进程相关联。哦,您希望在窗口中显示控制台。您可以编写自己的和管道输入到标准输出和标准输入。或者你可以嵌入powershell,但没有内置控件。“我希望在Winform中嵌入一个控制台窗口”-非常清楚。为什么这个答案(唯一一个真正的答案)不在顶部?