从Console Application创建单独的窗口

时间:2011-01-05 20:53:54

标签: c# multithreading console-application multi-window

我在尝试创建一个多窗口控制台应用程序时遇到了一些麻烦。目前,我的应用程序的主控制台窗口用于收集用户输入和显示输出。

大部分输出来自一个单独的线程,因为实时数据进来。我想知道是否有办法将我的应用程序分成两个窗口,其中第二个窗口是控制台窗口甚至是任何其他窗口可以显示传入字符串文本的窗口类型...特别是,主控制台窗口将是用户输入命令等的位置,第二个窗口显示系统当前正在处理的内容。第二个窗口可以完全只读。

任何建议都将不胜感激!我会发布代码,但我真的没有任何相关的(我能想到的)发布....

2 个答案:

答案 0 :(得分:2)

这很难做到。

以下是类似问题的答案:Can you have multiple .net Consoles (as in Console.Writeline)

如果你真的想这样做,你可以在这里找到逻辑:http://www.codeproject.com/KB/cpp/MultipleConsoles.aspx

Maby更好的方法是启动另一个进程(控制台应用程序)并通过IPC(进程间通信)在它们之间进行通信 - 就像命名管道一样。

有关IPC的更多信息,您可以找到:http://www.infoq.com/news/2008/01/wcf-comm-options

答案 1 :(得分:0)

使用包含您希望显示的数据的TextBox弹出Windows窗体可能更容易。您可以简单地启动一个新线程并调用Form.ShowDialog()来获取要显示的表单。