2010-01-03 29 views
0

對於較小的標題欄高度和邊框尺寸,我經常在較小分辨率的顯示器上使用FormBorderStyle = SizableToolWindow(即上網本)。在相當大的工具窗口上顯示最小化和最大化按鈕?

MaximimizeBox和MinimizeBox屬性也設置爲True,但由於僅顯示關閉按鈕,因此它們將被忽略。

我也曾嘗試使用以下的自定義窗口樣式:

protected override CreateParams CreateParams 
{ 
    get 
    { 

     CreateParams cp = base.CreateParams; 



     cp.Style |= 0x00020000; // Turn on Minimize button 

     cp.Style |= 0x00010000; // Turn on Maximize button 

     return cp; 
    } 
} 

但最大化和最小化按鈕仍然沒有顯示。

默認情況下,大小的工具窗口實際上顯示在任務欄中,並且可以通過右鍵單擊任務欄圖標來最小化/最大化,但這樣做遠不如常規那樣在標題欄上顯示按鈕。

有什麼建議嗎?

回答

0

您不能實現自定義標題欄和非客戶區域。正如nobugz所說,Windows的這種組合風格簡直不被Windows支持。你可以在標準的toolwindow標題欄上滾動你自己的min/max按鈕,但是我不推薦它。

+0

我已經在過去採用了這條路線,如果它是內置的,它會很方便。我想我真的想知道爲什麼MinimizeBox/MaximizeBox屬性被忽略,考慮到工具窗口*可*被最大化/最小化。 – Ash 2010-01-03 15:20:44

2

Windows根本不支持它,你不能強迫它做其他事情。 Fwiw,在上網本上強制使用窗口風格並不是你的工作。用戶通過控制面板顯示+外觀選項卡執行此操作。當用戶可以輕鬆地自行完成時,最好避免在用戶界面上推送個人偏好。並使其與所有應用程序保持一致。並保持最小/最大按鈕。

+0

對不起,我不同意。我根本不會強迫一些奇怪的窗口風格。工具窗口是非常熟悉的風格(在許多應用程序中可以看到),用於減少窗口覆蓋的屏幕「房地產」。我所要求的是如何讓用戶最小化和最大化工具窗口,而無需去任務欄。順便說一下,用戶無法使用控制面板將工具窗口更改爲正常窗口。它是應用程序控制的,不受操作系統控制 – Ash 2010-01-03 15:17:26

+0

我沒想到你。用戶可以更改顯示小程序中普通窗口的標題欄的高度。因此建議使用普通窗口而不是工具窗口。 – 2010-01-03 15:34:18

+0

讓我澄清。工具窗口FormBorderStyle專門設計用於較不顯眼的窗口。在應用程序中使用普通窗口和工具窗口是完全有效且可接受的。顯示沒有最小/最大按鈕的工具窗口對用戶來說通常是不方便和令人困惑的,所以我不能爲每個表單做這個。但是,如果可以顯示這些按鈕,則沒有理由讓用戶不能在應用程序中使用「小窗口」選項。 – Ash 2010-01-03 15:55:01

0

您可以讓FormBorderStyle爲FixedDialog,然後將MaximizeBox設置爲False。這樣只會在應用程序窗口的左上方留下最小化和關閉按鈕。

相關問題