大家好,又见面了,我是你们的朋友全栈君。
8.6 使用SplitContainer控件
在Windows资源管理器中,当把鼠标指针移动到TreeView控件和ListView控件之间时,可以左右拖动鼠标调整TreeView控件和ListView控件在主窗口中的大小比例,以适应不同显示内容的需要。我们可以使用SplitContainer控件实现这种功能。
可以将SplitContainer控件看做是一个复合体,它是由一个可移动的拆分条分隔的两个面板。当鼠标指针悬停在该拆分条上时,指针将相应地改变形状以显示该拆分条是可移动的。使用SplitContainer控件,可以创建复合的用户界面(通常,在一个面板中的选择决定了在另一个面板中显示哪些对象)。这种排列对于显示和浏览信息非常有用。拥有两个面板使你可以聚合不同区域中的信息,并且用户可以轻松地使用拆分条(也称为”拆分器”)调整面板的大小。
首先将RssTreeView和RssListView控件的Dock属性都设置为None,然后适当缩小这两个控件的大小,留出一定的主窗体空白区域。然后从工具箱中拖放一个SplitContainer控件到主窗体的空白区域,这时在该控件中的左右两侧会出现Panel1和Panel2两个容器,在这两个容器中放置的控件可以调整大小比例,用户使用拆分条调整的就是这两个容器的大小。把一个Label控件拖放到Panel1中,将Text属性设置为RSS文档列表,将Dock属性设置为Top;然后把RssTreeView控件拖放到Panel1中,将RssListView控件拖放到Panel2中,然后将这两个控件的Dock属性都设置为Fill,填充满各自所在的Panel,如图8.16所示。
(点击查看大图)图8.16 SplitContainer控件
将SplitContainer控件的Dock属性设置为Fill,填充满整个主窗体;将FixedPanel属性设置为Panel1,这样在调整主窗体的大小时,Panel1面板的大小默认不变;将Panel1MinSize属性设置为50,该属性设置Panel1容器的最小宽度;同样地,将Panel2MinSize属性设置为100。属性Panel1Collapsed和Panel2Collapsed分别设定Panel1和Panel2两个容器是否被折叠,所谓折叠即是否隐藏某一个Panel。属性SplitterDistance设置拆分条与SplitContainer控件左边的距离。属性SplitterIncrement设置用户拖动拆分条时,每次移动的距离。属性SplitterWidth设置拆分条的宽度。Orientation属性决定拆分器的方向,而不是决定控件本身的方向。因此,当该属性设置为Vertical时,拆分器将垂直放置,从而产生左面板和右面板。
现在我们再次运行程序,可以试着用鼠标拖动拆分器,改变RssTreeView和RssListView控件的大小比例,如图8.17所示。
(点击查看大图)图8.17 运行效果
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154799.html原文链接:https://javaforall.cn
l