为了直接进入,一个非常基本的例子:
using System;
using System.Windows.Forms;
class test
{
static void Main()
{
Console.WriteLine("test");
MessageBox.Show("test");
}
}
如果我使用默认选项(在命令行使用csc )编译它,正如预期的那样,它将编译为控制台应用程序。另外,因为我导入了System.Windows.Forms
,所以它还会显示一个消息框。
现在,如果我使用选项/target:winexe
,我认为这与从项目选项中选择Windows Application
相同,正如预期的那样,我将只看到消息框,而不会看到控制台输出。
(实际上,从命令行启动时,我甚至可以在应用程序完成之前发出下一个命令)。
所以,我的问题是--我知道你可以从控制台应用程序中获得" Windows "/forms输出,但是有没有办法从Windows应用程序中显示控制台呢?
发布于 2010-12-06 12:18:52
这个应该行得通。
using System.Runtime.InteropServices;
private void Form1_Load(object sender, EventArgs e)
{
AllocConsole();
}
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AllocConsole();
发布于 2014-12-17 00:11:52
也许这过于简单化了。
创建Windows窗体项目...
然后:项目属性->应用程序->输出类型->控制台应用程序
然后可以让控制台和表单一起运行,对我来说很有效
发布于 2012-05-30 23:01:00
如果您不担心在命令下打开控制台,则可以进入项目的属性并将其更改为控制台应用程序
。
这将仍然显示您的表单以及弹出一个控制台窗口。您不能关闭控制台窗口,但它可以作为调试的一个很好的临时记录器。
只要记住在部署程序之前将其关闭即可。
https://stackoverflow.com/questions/4362111
复制相似问题