2011-04-29 42 views
1

我是新來的Visual Studio中的Windows窗體,我想知道如何自動調整控件的窗口大小。如何使窗口中的多個控件自動調整窗口大小?

說,我有一個面板,一個列表框和一個按鈕的2個控件。我想讓按鈕停靠在底部,我希望列表框能夠適應剩下的空間。當窗口調整大小時,按鈕應該位於底部(按照預期的停靠位置),並且列表框應向下延伸至按鈕。

有沒有辦法做到這一點沒有任何代碼?

謝謝。

回答

2

Dock很容易使用,但我建議使用Anchor屬性代替。在設計器中將表單調整爲合理的大小。然後,將你的控件放到你想要的方式。然後,決定使用表單調整哪些控件的大小,並設置錨點屬性,如下所示:

  • 如果您希望控件使用寬度中的表單調整大小,請設置右側的錨點。
  • 如果要調整高度,請設置底部錨。
  • 如果您希望控件在窗體大小調整時保持不變,請取消設置左側定位點。
  • 如果您希望控件在窗體大小調整時保持底部,請取消設置頂部定位點。

我在碼頭上遇到的問題是,當控件沒有按照特定的順序聲明時,它們有時會很有趣,並且要獲得所需的效果,有時您必須創建無關的面板才能容納控件。

+0

非常漂亮!謝謝! – sFuller 2011-04-29 05:22:54

1

使用控件上的停靠欄和填充選項。查看每個對象的屬性,以及容器(如果它們在任何位置)。

+0

我設置列表框填寫,按鈕上下。 ListBox填充容器,除了它在按鈕下面。 – sFuller 2011-04-29 04:55:21

+0

您可能需要將按鈕停靠在列表框的底部。嘗試不同的碼頭設置,看看工作如何,或者看看這裏:http:// www。techrepublic.com/article/manage-winform-controls-using-the-anchor-and-dock-properties/6165908 – Mikecito 2011-04-29 05:02:05

0

嘗試將您的ListBox的Dock屬性設置爲Fill。

雖然您需要注意一件事:默認情況下,ListBox將自行調整大小以顯示整個列表項。如果您調整控件大小以顯示部分項目,它將自行調整,以顯示完整的項目。這可能會使控件看起來失去其「停靠」行爲。解決方法是將列表框的IntegralHeight property設置爲false,它指定控件不調整其自身以適合完整的項目。

+0

感謝您的提示! 不幸的是,列表框仍然出現在按鈕下方。我已將按鈕對接設置爲按鈕,但仍然出現在列表框的頂部。 – sFuller 2011-04-29 05:07:14

+0

@sFuller - 啊。右鍵單擊列表框並選擇「置於前面」。不要忘記設置IntegralHeight = false。 – 2011-04-29 05:13:50

1

當你想保持每個控件的寬高比時,它確實會變得混亂。一種方式,如果你想進入固定的細節是不是真的達到標準,就是用TableLayoutPanel和使用DockAnchor明智達到你想要的東西。

enter image description here