2012-12-10 84 views
6

我一直認爲使用像iTunes或Visual Studio 2012這樣的程序的窗體邊框沒有邊框樣式和按鈕,因爲關閉按鈕被繪製爲圖像。自己的窗體邊框樣式

Visual Studio 2012 Musicjet

然而,一旦我的Visual Studio沒有響應,邊境變更爲基本的Windows邊框。

Windows

我怎樣才能得到自己的形式邊界?在C#中可能嗎?

+1

:嘗試兩個鏈接:http://www.codeproject.com/Articles/18351/A-Form-with-Customized-Caption-Bar-and-Flexible-Bo和http://customerborderform.codeplex.com / – KF2

回答

3

您正在看到「窗口窗口」,這是Windows窗口管理器創建的用於替換死鎖窗口的窗口。您會在標題欄中看到「Not Responding」。那個窗口當然不會有相同的自定義樣式,Windows不知道如何正確地做到這一點。

您可以使用Spy ++實用程序來查看其他應用程序的窗口屬性。實際上VS2012使用標題欄的常規窗口樣式。他們如何定製它是一個保存完好的祕密,我懷疑他們攔截WM_NCPAINT,這是一個相當困難的信息來實現自己。使用無邊界窗口肯定更容易。

0

繼@Hans'後:

使用WPF可以設置windowstyle爲none這樣的:

<Window WindowStyle="None"> 

然後你就可以實現自己的按鈕。