Foxtable(狐表)用户栏目专家坐堂 → 分区面板尺寸


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

主题:分区面板尺寸

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


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
分区面板尺寸  发帖心情 Post By:2023/3/31 9:03:00 [显示全部帖子]

在设计时间,效果如下:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20230331085756.jpg
图片点击可在新窗口打开查看

窗口大小改变后的代码如下:
Dim x1 As Integer = e.Form.Controls("Button1").Width  '更多
Dim x2 As Integer = e.Form.Controls("Button2").Width  ‘更多
Dim p As WinForm.SplitPanel = e.Form.Controls("SplitContainer8").Panel1
p.Width = x1 + x2 + 10
MessageBox.Show(p.Width)
但是窗口最大化后,p的尺寸没有改变,p的实际尺寸比用代码设置的大,明显没有对齐,是什么问题呢,效果如下:

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



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


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2023/3/31 9:41:00 [显示全部帖子]

怎么设置位置?
窗口大小改变后,分隔条宽度并没有改变啊。都是10

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


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2023/3/31 10:04:00 [显示全部帖子]

老师,窗口改变后,分割条宽度是没变的啊,调试出来都是10
Dim p1 As WinForm.SplitContainer = e.Form.Controls("SplitContainer8")
MessageBox.Show (p1.SplitterWidth)

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


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2023/3/31 10:15:00 [显示全部帖子]

感觉是bug,拉伸后底层是不是把分割条宽度也算到拉伸里面了,实际分割条宽度是没变的

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


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2023/3/31 10:22:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2023/3/31 10:31:00 [显示全部帖子]

这样可以了,只能通过设置分割条位置来控制,不能去设置panel的尺寸来控制
Dim x1 As Integer = e.Form.Controls("Button1").Width
Dim x2 As Integer = e.Form.Controls("Button2").Width
Dim p1 As WinForm.SplitContainer = e.Form.Controls("SplitContainer8")
p1.SplitterDistance = x1 + x2 + 10
直接设置分割条位置
完整一点就这样写:
Dim p As WinForm.SplitContainer = e.Form.Controls("SplitContainer8") 
Dim x1 As Integer = e.Form.Controls("Button1").Width
Dim x2 As Integer = e.Form.Controls("Button2").Width
Dim x3 As Integer = p.SplitterWidth '分割条宽度
p.SplitterDistance = x1 + x2 + x3 '分割条位置
[此贴子已经被作者于2023/3/31 10:37:13编辑过]

 回到顶部