我正在尝试创建一个表单,我可以最轻松地将其描述为像资源管理器视图一样,并排有两个面板(左侧是文件夹列表,右侧显示所选文件夹中的文件)。
左侧面板是固定宽度的,并停靠在表单的左侧。它工作正常,在这里不相关。
右侧面板位于左侧面板的右侧,填充表单的其余部分,并锚定顶部、左侧、底部和右侧,以便在调整大小时继续占据整个表单除了左侧面板占据的部分。它还AutoScroll
设置为True
,每当内容太大而无法容纳时,它会自动显示滚动条。那部分也很好用。
因为我想在不同的时间在右侧面板中显示不同的东西,所以我创建了一个普通Panel
的容器,并为每种不同类型的内容使用子面板。任何时候都只能看到这些子面板中的一个。
我(有时)想要在右侧面板中显示的一件事是非常类似于资源管理器中的“图标”视图 - 即一堆文件图标,这FlowLayoutPanel
听起来很完美,因为我确实希望它们从左到右排列,然后根据需要换行到新行。
我原以为这正是 aFlowLayoutPanel
的设计目的,但我无法让它工作![我将 的Dock
属性设置为FlowLayoutPanel
,Fill
以便它使用父级中的所有可用空间Panel
。]实际发生的是它只在一行中显示所有图标,而从不包装它们。我最终在父级上有一个水平滚动条,Panel
因为FlowLayoutPanel
它不适合。
我认为这可能是因为Panel
包含的父FlowLayoutPanel
级没有固定的大小(因为它会随表单增长和缩小),所以我猜当FlowLayoutPanel
决定它可以承受的宽度时,它决定它可以是随心所欲。但是,这不是很有帮助。
有什么办法可以说服FlowLayoutPanel
它应该只和它的父级一样宽Panel
?