2011-09-25 26 views
0

在我的窗體窗體應用程序中我想使窗體的標題在它的中間(標題欄)例如: 如果您在Windows XP中並打開你的我的電腦,你會發現它在標題欄的左側,我想例如使我的標題在同一個酒吧中間使窗口窗體標題在tittle欄的中間

如何?

+0

第1步:安裝[Windows 8 DP](http://msdn.microsoft.com/en-us/windows/apps/br229516)。第2步:完成。它很醜。 – dtb

+0

:D我已經安裝了它,但我希望它可以適用於我的舊應用程序我的客戶之一需要它在中間:D – kartal

+0

是否有他們希望您的應用程序的行爲與他們將使用的其他所有應用程序不同的原因? –

回答

0

基本上有三個選項:

  1. 創建具有居中標題及相應的最小化/最大化/關閉按鍵的自定義控制。在沒有標題欄的情況下使用from,並將自定義控件放在頂部。

  2. 使用GDI +繪製標題,並使用窗體大小事件更新其位置。總的破解,甚至不知道這會工作。

  3. 根據表格的寬度計算標題居中所需的空格數量,然後將它們插入到標題文本之前。拉姆解決方案,但它會工作,並易於實施。

+0

#3可能是最好的HACK讓它看起來居中,但我會添加一件事。您需要計算每次調整窗口大小時的空格數量,並使用DrawString和幀大小來計算出您需要的空間數量。 –

+0

1號不工作。至於沒有。 2,定製繪製非客戶區域還有很多。不知道有多大的非客戶端鉻是複雜的。這需要一定程度的努力。 –

+0

我不知道你爲什麼說#1將無法正常工作。我之前已經建立了自定義窗口,網絡上有很多例子。它實際上工作很好。 –

1

這不可能使用常規的WinForms表單屬性。另一方面,您可以創建一個沒有任何邊框的表單並自定義繪製自己的邊框。這與其他皮膚庫非常相似,因此如果您不想編寫自己的自定義例程,可以查看供應商提供的各種皮膚庫。

+0

皮膚是最好的方法。但另一個是獲取OnSize消息並設置帶有前導空格的標題。 –