日期:2014-05-17  浏览次数:21136 次

flowLayoutPanel问题


如图,蓝色的是我定义的用户控件,而这些用户控件的数量是从数据库中的数据而得来的,将这些用户控件动态加载在flowLayoutPanel上面,现在用户要求无论用户控件有多少都要铺满整个屏幕。那么我就要根据用户控件的数量动态的调整用户控件的大小然后加载到flowLayoutPanel1上面,不知道怎么实现,我现在做的用户控件大小是固定的,已经做好了,用户又提了这样的要求,唉,不知道怎么解决。

------解决方案--------------------
你知道自己的长宽,有知道form的长宽,那就用除法得到需要布置几个
------解决方案--------------------
你想,如果只有一个,那怎么铺满?况且用户控件长度和高度都已经固定,除非调整控件的显示位置,比如显示在中间,即便你动态的改变用户控件的Dock属性,那么我想用户控件里的布局也会混乱,因此,只能根据panel的高,每行显示条数,总条数来设置每个用户控件的相对位置
------解决方案--------------------
其实你可以固定宽度,

因为屏幕的宽度有限,如果是一个则默认xx宽度,如果是两个则xx宽度,以此类推

毕竟每行不会有太多的控件,你挑选一个显示效果好的宽度固定显示即可,

这样就只需要控制高度了,就简单了。


以前我写过一个类似的,比你的简单,列数是固定的,每列宽度也固定,但是有N行。