请大家给出最合适的实现方法,因为我对net不熟,我觉得自己的做法不好。
1、如何获取flowlayoutpanel每行最后一个控件(行尾控行)。
2、如何使flowlayoupanel实现拖放,就像在设计器设计时一样。
3、如何让tablelayoutpanel控件中某一单元格放两个控件(不添加其它容器控件的情况下)
1、使用LinQ:Controls.LastOrDefault();//具体是否Controls属性表示子属性集合忘记了,这个你修正下,不使用LinQ也简单
2、启动并捕获拖放的起停事件,当停止时,获取目标对象的索引位置,然后修改要拖放对象的索引坐标(这个计算要小心点,有向前拖和向后拖的区别,处理不同)
3、这个是做不到的,TABLE定义的TABLECELL的的内容就只能放置在Content属性上,而这个属性是唯一的,不是集合。要想达到这个目的,如Firen所言,修改策略,使用容器中间对象;如果你坚持这样,那就只有自己写控件来达到目的了。
附注:WPF这样定义TABLE,目的就是把功能简化,让TABLECELL就只能放一个对象,如果一个CELL可以放多个对象,在处理上就复杂了,而复杂的结果就是性能与稳定。这个,也是LINUX比WINDOWS要稳定的原因之一。
1.计算鼠标坐标,
2.拖放的示例网上有很多,
3.可以单元格里先放个panel,然后在这个panel里放两个控件。