Windows窗体应用程序中的Dock,Anchor和Fluid布局

所以,我被要求重新设计几年前我写的旧应用程序。

基本上,没有什么需要改变,除了客户希望它更流畅,并且它必须是全屏的(没有可见的“窗口”)即没有Titlebar,只是一个无边框全屏窗口。

什么是确保一切都保持流畅的最佳方法,我的意思是我们如何确保一切都出现在它应该的位置,因为你知道,不同的分辨率,显示器尺寸等?

这在网页/ CSS中很容易,但这不是我以前做过的。 大多数控件将在运行时以编程方式创建,具体取决于执行的操作等。我将如何完成这样的布局? 基本上我希望能够全屏显示,不知道他们的显示器有多大,或者他们使用的是什么分辨率。

在使用流体布局设计表单时,您肯定是正确的,该布局可以响应表单字体的可用空间和大小。 为此,您需要使用以下控件和控件属性。

1, TableLayoutPanel将区域拆分为一组行和列,并允许您将子控件放置在该表布局的各个单元格中。 这响应forms宽度和高度的变化。

2, FlowLayoutPanel将从左到右定位子控件,并在空间不足时自动移动到新行。 这对于流体设计非常有用,因为它会根据可用空间调整布局。

3, Control.Anchor属性允许子控件根据表单客户区的大小改变位置和大小。 因此,您的控件始终是右边或底边的固定偏移。

4, Control.Dock属性将子控件放在边缘上,相反的大小将由包含的表单自动定义。

您可以将您的控件放入tableLayout,并将Dock属性设置为fill。