以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]居中 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=120314) |
||||
-- 作者:江南小镇 -- 发布时间:2018/6/12 16:22:00 -- [求助]居中 老师好,想用代码设置让面板容器中的控件平行居中,控件平行均匀排列。 |
||||
-- 作者:有点甜 -- 发布时间:2018/6/12 16:28:00 -- 排序逻辑是什么?有多少个控件?怎么才算是符合你规则的排列? |
||||
-- 作者:江南小镇 -- 发布时间:2018/6/12 18:05:00 -- 能在Panel容器中的控件居中均匀排列。 此主题相关图片如下:图像 058.png |
||||
-- 作者:有点甜 -- 发布时间:2018/6/12 18:09:00 -- 1、你的panel的宽度是变化的?可能长可能短?
2、当panel变长的时候各个按钮如何处理?位置平均分布?那各个按钮的宽度是否需要变化?
3、上传具体实例测试吧。 |
||||
-- 作者:江南小镇 -- 发布时间:2018/6/12 18:56:00 -- 老师,Panel容器中的按钮数量不确定的。
|
||||
-- 作者:有点蓝 -- 发布时间:2018/6/12 20:15:00 -- 参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=119284&skin=0 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=110785&skin=0 SizeChanged事件,大概这样,细节自行调整 Dim pnl As WinForm.Panel = e.Form.Controls("按钮框") Dim cnt As Integer = pnl.Children.Count Dim w As Integer = pnl.Width Dim w1 As Integer = (w - cnt * 59) / (cnt+1) For i As Integer = 0 To cnt - 1 pnl.Children(i).Left = i*59 + (i+1)*w1 Next |
||||
-- 作者:江南小镇 -- 发布时间:2018/6/13 15:11:00 -- 老师,我想改成控件直接摆在分区面板的第二个分区中"SplitContainer1" Dim pnl As WinForm.Panel = e.Form.Controls("按钮框") Dim cnt As Integer = pnl.Children.Count Dim w As Integer = pnl.Width Dim w1 As Integer = (w - cnt * 42) / (cnt+11) For i As Integer = 0 To cnt - 1 pnl.Children(i).Left = i* 42 + (i+1)*w1 Next
|
||||
-- 作者:有点甜 -- 发布时间:2018/6/13 15:20:00 -- Dim pnl = e.Form.Controls("SplitContainer1").panel2 Dim cnt As Integer = pnl.Children.Count Dim w As Integer = pnl.Width Dim w1 As Integer = (w - cnt * 42) / (cnt+11) For i As Integer = 0 To cnt - 1 pnl.Children(i).Left = i* 42 + (i+1)*w1 Next |
||||
-- 作者:江南小镇 -- 发布时间:2018/6/13 22:20:00 -- 老师,panel2容器中的控件能根据Tab键顺序排列。 Dim cnt As Integer = pnl.Children.Count Dim w As Integer = pnl.Width Dim w1 As Integer = (w - cnt * 42) / (cnt+11) For i As Integer = 0 To cnt - 1 pnl.Children(i).Left = i* 42 + (i+1)*w1 Next |
||||
-- 作者:有点甜 -- 发布时间:2018/6/13 22:28:00 -- 回复9楼,参考
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=119185&skin=0
|