2013-06-02 118 views
12

的标题栏区域是否有可能对我来说,无论是自定义标题栏(即改变颜色),或者完全删除吗?自定义控制台应用程序

+0

我发现了一个可能的解决方案[这里](http://stackoverflow.com/questions/2014014/hide-title-bar-of-program-using-api),但我只是想实现它自己,并来到了一个错误“ToggleTitleBar”方法的第一行。 –

+0

嗯我试过,但它没有为我工作:/ –

+2

在你的应用程序默认的Windows风格是:不酷,不臀,没有用,不成熟。当然,将文字改为更有用/内容丰富,但不要做其他事情。 – user3791372

回答

15

使用Console.Title财产

退房这个环节为例Console.Title Property

+0

嗯我知道那个属性,但它只允许你改变文本,我会怎么去改变它呢?是否有可能将其删除/隐藏? –

+0

调用:Console.Title =“”;隐藏标题 –

-1

要删除它,你可以在formBorderStyle更改为无。它使它变得有点丑陋,但它却摆脱了它。但是,您也会损失Min Max和Exit按钮。

+1

这是一个控制台应用程序,而不是WinForms项目。 –

+0

我该怎么做?我试过 'this.FormborderStyle.None' 和 '形式myForm的=本表格(); myForm.FormBorderStyle.None;' –

+0

@ClarkeAbear您正在询问一个控制台应用程序。你不能使用WinForms代码。没有形式。 –

2

这是不容易做到的。控制台窗口实际上由单独的进程处理,conhost.exe。你需要说服这个过程来改变它的行为,这将涉及到严重的黑客行为。

您可以获取窗口句柄容易够了,改变窗口的基本属性,并希望conhost.exe不改回来。但是,标题栏的自定义绘画将涉及将代码注入conhost.exe

0

使用SetConsoleTitle API。随着P/Invoke我会猜测。