Foxtable(狐表)用户栏目专家坐堂 → [求助]居中


  共有3823人关注过本帖树形打印复制链接

主题:[求助]居中

帅哥哟,离线,有人找我吗?
江南小镇
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1710 积分:11410 威望:0 精华:0 注册:2015/6/22 8:11:00
[求助]居中  发帖心情 Post By:2018/6/12 16:22:00 [只看该作者]

老师好,想用代码设置让面板容器中的控件平行居中,控件平行均匀排列。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/12 16:28:00 [只看该作者]

排序逻辑是什么?有多少个控件?怎么才算是符合你规则的排列?


 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1710 积分:11410 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/6/12 18:05:00 [只看该作者]

能在Panel容器中的控件居中均匀排列。


图片点击可在新窗口打开查看此主题相关图片如下:图像 058.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/12 18:09:00 [只看该作者]

1、你的panel的宽度是变化的?可能长可能短?

 

2、当panel变长的时候各个按钮如何处理?位置平均分布?那各个按钮的宽度是否需要变化?

 

3、上传具体实例测试吧。


 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1710 积分:11410 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/6/12 18:56:00 [只看该作者]

老师,Panel容器中的按钮数量不确定的。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:panel.table


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106763 积分:543016 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1710 积分:11410 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1710 积分:11410 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/6/13 22:20:00 [只看该作者]

老师,panel2容器中的控件能根据Tab键顺序排列。

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/13 22:28:00 [只看该作者]


 回到顶部
总数 18 1 2 下一页