2013-07-23 57 views
3

什麼是使WinForms應用程序具有完全可擴展性的最佳方式,例如當表單調整大小時?使Windows窗體可擴展的最佳方式?

在WPF中,我會使用類似於Viewbox和/或UniformGrid的東西,但類似的東西在WinForms中不存在。

是否有一種更簡單(也許更快)的方式來重新調整控件的大小後,而不是通過計算新的大小/位置等來調整它們的大小?

在此先感謝

回答

2

可以使用anchordock,這取決於你的需要:

  • - 容器的邊緣到控件綁定並確定控件如何與其父母重新調整大小。
  • Dock - 哪些控件邊框停靠在其父控件上,並確定控件是如何調整其父級的。

進一步閱讀:DockAnchor

2

看一看在Anchor屬性發現幾乎所有的控制。這允許您將控件鎖定到窗口四個邊界中的任何(或全部)邊界。

一旦固定了一個距離(例如TopRight),無論您如何調整窗口大小,控件都會盡量保持這個距離。

例如,您應該設置AnchorBottomRight,該按鈕應該始終保留在窗口的右下角。一個文本框,應該始終從左到右填充窗口將使用LeftRight

類似的事情可以通過使用Dock來實現,但是停靠控件總是會嘗試儘可能多地填充空間(有不同的策略可用,比如「填充從這裏開始並且向上的所有內容)」。然而,這可能會很難控制(我通常只使用它,如果我想要一個控件來填充整個窗口,例如一個TextBox

如果您需要更復雜的對齊,如寬度縮放在某種比例(例如30%)上,則有幾種不同的容器可供使用

相關問題