什麼是使WinForms應用程序具有完全可擴展性的最佳方式,例如當表單調整大小時?使Windows窗體可擴展的最佳方式?
在WPF中,我會使用類似於Viewbox
和/或UniformGrid
的東西,但類似的東西在WinForms中不存在。
是否有一種更簡單(也許更快)的方式來重新調整控件的大小後,而不是通過計算新的大小/位置等來調整它們的大小?
在此先感謝
什麼是使WinForms應用程序具有完全可擴展性的最佳方式,例如當表單調整大小時?使Windows窗體可擴展的最佳方式?
在WPF中,我會使用類似於Viewbox
和/或UniformGrid
的東西,但類似的東西在WinForms中不存在。
是否有一種更簡單(也許更快)的方式來重新調整控件的大小後,而不是通過計算新的大小/位置等來調整它們的大小?
在此先感謝
在Windows Forms中,您使用Anchor
和Dock
屬性爲每個控件。
下面是用它們的文章:http://www.techrepublic.com/article/manage-winform-controls-using-the-anchor-and-dock-properties/
看一看在Anchor
屬性發現幾乎所有的控制。這允許您將控件鎖定到窗口四個邊界中的任何(或全部)邊界。
一旦固定了一個距離(例如Top
或Right
),無論您如何調整窗口大小,控件都會盡量保持這個距離。
例如,您應該設置Anchor
爲Bottom
和Right
,該按鈕應該始終保留在窗口的右下角。一個文本框,應該始終從左到右填充窗口將使用Left
和Right
。
類似的事情可以通過使用Dock
來實現,但是停靠控件總是會嘗試儘可能多地填充空間(有不同的策略可用,比如「填充從這裏開始並且向上的所有內容)」。然而,這可能會很難控制(我通常只使用它,如果我想要一個控件來填充整個窗口,例如一個TextBox
)
如果您需要更復雜的對齊,如寬度縮放在某種比例(例如30%)上,則有幾種不同的容器可供使用
非常感謝您...... FlowPanel似乎正是我需要的蜜蜂 – BudBrot