大家好,在使用FlowLayoutPanel时遇到一个问题,如下: 首先,在一个Form中加入一个GroupBox,Dock为Top。设置AutoSize为true,AutoSizeMode为GrowAndShrink。
然后,在这个GroupBox中加入一个FlowLayoutPanel,Dock为Fill,同样设置AutoSize为true,AutoSizeMode为GrowAndShrink。 然后再在别的空白地方拖一个Button,点击事件里这样写:
flowLayoutPanel1.Controls.Add(new TextBox()); 然后连续点击Button,flowLayoutPanel1中会动态加入TextBox。但是,当FlowLayoutPanel中的TextBox加满第一行时,本应出现第二行,但是GroupBox还是只显示一行TextBox。GroupBox似乎只对第一行AutoSize了。
请问如何让GroupBox按照实际情况把所有TextBox都显示出来呢? 注:不能将flowLayoutPanel1的FlowDirection只能是LeftToRight。 求解。
然后,在这个GroupBox中加入一个FlowLayoutPanel,Dock为Fill,同样设置AutoSize为true,AutoSizeMode为GrowAndShrink。 然后再在别的空白地方拖一个Button,点击事件里这样写:
flowLayoutPanel1.Controls.Add(new TextBox()); 然后连续点击Button,flowLayoutPanel1中会动态加入TextBox。但是,当FlowLayoutPanel中的TextBox加满第一行时,本应出现第二行,但是GroupBox还是只显示一行TextBox。GroupBox似乎只对第一行AutoSize了。
请问如何让GroupBox按照实际情况把所有TextBox都显示出来呢? 注:不能将flowLayoutPanel1的FlowDirection只能是LeftToRight。 求解。
解决方案 »
- http上传大文件时,出现请求时报错 请求已被取消错误
- 图形界面richtextbox的问题
- Active Directory 编程允许用户VPN拨入问题
- C# 能实现这样的功能吗?朝阳(60) 用treeview
- C#程序员进!散分!!! (三)
- datagrid的更新,取消事件失效
- 没分了,请帮忙解决关于SocketAsyncEventArgs接收的数据不正确的问题,请高手解答
- 冰天雪地,跪求各位大侠:小弟刚毕业想去广东求职学习,广东哪里有用.net做大型项目的公司吗?
- 又是水晶报表的问题,大伙儿进来指点指点一二。。。
- cs模式下如何读取Cookie
- C#全局键盘hook问题
- C#调用dll文件 跪求L
还有啊,你想让系统自动给你排布好控件,那么,你理想的情况是什么样呢?如果是挨着放的话,那我刚才说的这样应该就可以。
我其实自己实现过,但是效果很不理想,一是我能力所限,写不出高效率的算法,所以导致客户一改变Form大小,我的界面就乱窜等等。
FlowLayoutPanel里的效果,就是我想要的效果,不但换行换的很自然,而且一点也不卡。所以我认为再没有必要自己计算了。
至于为什么FlowLayoutPanel在被其他Panel类型包裹后就只能将Size扩展为一行的问题,我认为应该是某个设置导致的。
所以我希望大家能给予帮助,看看是我哪里设置的不对。
问题解决了:
设置FlowLayoutPanel的MaximumSize中的Width(默认Height和Width都是0)为GroupBox的Width,即可自动换行了~!
结贴给分~虽然你没帮到我,呵呵