在本文中,介绍Studio for WinForms提供的桌面布局控件,只需要拖拽操作就可以快速建立布局界面。它包括传统的分区域布局控件C1SplitContainer,符合用户使用习惯的类似Visual Studio样式的可停靠布局,C1DockingTab还有与WPF布局方式相同的C1Sizer。这些控件可以隐藏、展开、拖拽停靠、调整尺寸甚至等比例缩放整个窗体界面。
创建可嵌套的桌面布局控件
首先在设计时,从工具箱拖拽C1SplitContainer控件到窗体,可以创建复杂的多面板布局,并且可以在窗体上调整内容的大小,甚至折叠内容。C1SplitContainer与标准的SplitContainer控件类似,但是它可以支持两个以上的面板、标题、视觉样式,以及可折叠的按钮。
它可以生成如下图的界面:
创建VisualStudio风格的停靠布局控件
首先设计时,从工具箱拖拽C1DockingTab控件到窗体,它可以创建一个熟悉的、包含灵活的行为与式样的标签控件界面。然后对标签进行定向、调整大小以及设计样式。还可以创建停靠和浮动标签。
它可以生成如下的界面:
创建可缩放的网格布局控件
C1Sizer:是一个具有网格布局的容器控件。在对C1Sizer的大小进行调整时,其中所包含的控件可以吸附到网格线并相应地伸展。
首先在设计时,拖拽C1Sizer控件到窗体,创建与分辨率无关的、可调整大小的窗体。这个网格布局管理器扩展了.NET Framework提供的基本布局能力,可以象WPF和Silverlight的Grid控件一样调整控件的大小以填充窗体。
接着在C1Sizer里添加行和列,并通过IsFixedSize属性设置行列是否是固定大小,IsSplitter属性设置是否可以Split。还可以给行列设置背景色。
调用C1Sizer.SplitterMoved事件,确保当鼠标拖动Splitter的时候,能够正确操作。该C1Sizer如下所示:
C1Sizerlight:
它是一个非可视化组件,它可以跟踪窗体的大小和位置。在调整窗体大小时,C1SizerLight组件可以按比例调整其包含的所有控件的大小,这样,窗体就可以在任何分辨率下保持它的外观。
首先拖拽一个Panel到窗体,并且将自定义的Form放入到Panel里,拖拽C1Sizerlight控件到窗体,就具有即时调整大小的功能。
如图所示,调整这个Form的大小,窗体内的控件会随之调整大小。
本文C1Sizer控件和C1Sizerlight控件的Demo源代码如下: