我想設置我的WinForm看起來像Delphi7 IDE。基本上這意味着窗口沒有背景(桌面通過顯示),並且子窗口浮動。WinForms浮動窗口(如Delphi7 IDE)
下面是一個示例圖像: alt text http://www.builder.cz/images/delphi7-screenshot-big.png
我能處理的浮動窗口,但我將如何去主窗口(菜單欄和工具欄)?獲得此佈局所需的WinForm屬性是什麼?我似乎無法擺脫窗戶的客戶區域。
謝謝
我想設置我的WinForm看起來像Delphi7 IDE。基本上這意味着窗口沒有背景(桌面通過顯示),並且子窗口浮動。WinForms浮動窗口(如Delphi7 IDE)
下面是一個示例圖像: alt text http://www.builder.cz/images/delphi7-screenshot-big.png
我能處理的浮動窗口,但我將如何去主窗口(菜單欄和工具欄)?獲得此佈局所需的WinForm屬性是什麼?我似乎無法擺脫窗戶的客戶區域。
謝謝
爲什麼你不能擺脫客戶區?調整主表格的大小,使其儘可能薄。
您可能會在主窗體的控件集合中實現浮動窗口作爲UserControls。如果是這樣,你可以通過兩種方式來處理:
請不要製作這樣的用戶界面。這是非常不規範的,在可用性領域沒有獲得任何東西。您可以通過將其全部保存在Visual Studio一個窗口中來簡化這些操作。
反對意見是因爲問題不是「我應該像這樣做我的用戶界面嗎?」另外,我實際上更喜歡在我的筆記本電腦上使用這種IDE風格(從我的Visual Basic時代開始),因爲當前的Visual Studio佈局需要大型顯示器才能最有效。 – MusiGenesis
如果它增加了軟件的整體可用性,我可以處理一個反對票。 –
@John:不幸的是,它並沒有增加軟件的可用性,將所有內容都限制在單個主窗口的客戶區域。詢問任何有多臺顯示器的用戶對他們的感受。多年來,Visual Studio用戶確實希望獲得更好的多顯示器支持。 – mghie
謝謝。通過調整主窗體大小來擺脫客戶區域的確是實現這一目標的方法,但是,這還有其他一些細節。當您調整窗口大小時,您可以再次暴露客戶端區域,並且當您最大化窗口時,它將佔用整個屏幕,並且客戶端區域將隱藏桌面。 上述兩個問題的解決方案是處理WM_SIZING和WM_GETMINMAXINFO消息並根據需要限制高度。 關於浮動窗口,我討厭第二個選項,因爲它增加了不必要的負擔。你的第一個選擇是一個好的選擇。謝謝你的幫助。 –
您並不一定要將其他窗口始終放在主窗口的頂部。主窗口的工具欄很難訪問。 –