2016-08-16 56 views
1

我有一個項目有幾種連接到SQL數據庫(讀寫)的形式。除了父表單之外,每個表單都以中心位置開始,並以我在屬性中設置的大小(顯然它被系統視爲最小大小)開始。當我點擊最大化按鈕時,它會全屏顯示,這是我的問題。如何設置窗口的最大限制

我希望子窗體只比主窗體小一點(這樣我就可以從後面看到標題)。當我在屬性字段中寫入我的首選最大大小時,它不起作用。

我用這裏寫的第一個解決方案:Is it possible to set the Maximum Width for a Form but leave the Maximum Height Unrestricted?。它給了我最大化尺寸的限制。但是,它不僅使表格偏離中心,而且一旦我點擊表格,它就會回到最小尺寸。

另一個問題是我的項目是假設在不同分辨率的多臺計算機上運行。所以,我不認爲給它一個特定的大小會有幫助。

底線是,我希望我的子表單的大小最大限度地小於父屏幕的全屏。 任何人都可以幫助我嗎?

+0

對不起。這是鏈接 http://stackoverflow.com/questions/13527142/is-it-possible-to-set-the-maximum-width-for-a-form-b​​ut-leave-the-maximum-height – Zoe

+2

是這些形式的mdi兒童形式?從我讀到的東西我想不是。是否有沒有做這個項目MDI的原因? – GuidoG

+2

這不是Windows的工作方式,最大化是一個系統命令,它使窗口全屏顯示。您可以禁用默認的最大化命令並自己處理它們,也可以根據@GuidoG的建議將表單設置爲MDI容器。 – slawekwin

回答

1

看來你正在嘗試創建一個多文檔界面(MDI)風格的應用程序。這種風格不再是很常見的,但這裏有一些examples關於如何這樣做。

您給出的StackOverflow示例使用了MaximumSize屬性。當用戶點擊右上角的「最大化」按鈕時,該屬性不適用。當表單被配置爲允許調整大小時(通過抓取右下角的手柄)它被用於。 最大化功能將填滿整個屏幕或MDI應用程序,整個MDI父窗口 - 並且一直就是這樣。

+0

我們仍在構建許多新的winforms項目,這是因爲幾乎每個客戶都需要一個MDI應用程序。我不確定這種風格是否不常見,它不是當我構建應用程序時,我認爲它仍然很普遍 – GuidoG

+0

嗯!我做了WinForms(VB3-6)10年之後,甚至被稱爲我很少看到它的任何要求 - 並且微軟在WPF中丟棄了MDI –

+0

是的,在WPF中它已經不存在了,這就是我所說的,它只是建立winforms應用程序而不是應用程序時的一個要求。我相信devexpress把MDI帶回WPF。 – GuidoG