C# 在项目上使用SetParent';s自己的控制台,在winforms面板中

C# 在项目上使用SetParent';s自己的控制台,在winforms面板中,c#,.net,winforms,console,pinvoke,C#,.net,Winforms,Console,Pinvoke,我试图利用console项目类型的console来显示windows窗体的输出 基本上,我将我的项目设置为控制台项目类型。我从主窗口打开windows窗体。在该windows窗体上,我有一个面板,我想在其中使用包含控制台的SetParent()() 这可能吗?我甚至尝试向解决方案中添加另一个控制台项目,并在面板中托管该控制台项目,但只要调用SetParent(),它就不可见了。我尝试使用ShowWindow()()使其可见,但什么也没发生。我该怎么做 我已经为这些Win32函数做了一个包装器,但

我试图利用console项目类型的console来显示windows窗体的输出

基本上,我将我的项目设置为控制台项目类型。我从主窗口打开windows窗体。在该windows窗体上,我有一个面板,我想在其中使用包含控制台的
SetParent()
()

这可能吗?我甚至尝试向解决方案中添加另一个控制台项目,并在面板中托管该控制台项目,但只要调用
SetParent()
,它就不可见了。我尝试使用
ShowWindow()
()使其可见,但什么也没发生。我该怎么做

我已经为这些Win32函数做了一个包装器,但我觉得它们是不言自明的。代码如下:

    private void button1_Click(object sender, EventArgs e)
    {
        Utilities.SetParent(Utilities.GetWindowHandle(ConsoleTitle), panel1.Handle);
        Utilities.SetWindowVisible(Utilities.GetWindowHandle(ConsoleTitle), true);
    }
consoleTile
只是一个字符串,设置为我的控制台的标题,即“Tester console”。作为记录,当我的代码被调用时,控制台消失了,所以我知道它正在抓取窗口句柄并做一些事情


谢谢你的帮助

我不认为这会成功。用另一种方法解决问题。不要认为这会奏效。用不同的方法解决问题。