以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  分区面板尺寸  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186004)

--  作者:cd_tdh
--  发布时间: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
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2023/3/31 9:08:00
--  
要设置SplitterDistance:http://www.foxtable.com/webhelp/topics/0819.htm
--  作者:cd_tdh
--  发布时间:2023/3/31 9:41:00
--  
怎么设置位置?
窗口大小改变后,分隔条宽度并没有改变啊。都是10
--  作者:有点蓝
--  发布时间:2023/3/31 9:49:00
--  
http://www.foxtable.com/webhelp/topics/0822.htm
--  作者:cd_tdh
--  发布时间:2023/3/31 10:04:00
--  
老师,窗口改变后,分割条宽度是没变的啊,调试出来都是10
Dim p1 As WinForm.SplitContainer = e.Form.Controls("SplitContainer8")
MessageBox.Show (p1.SplitterWidth)

--  作者:有点蓝
--  发布时间:2023/3/31 10:14:00
--  
不写代码设置,肯定不会变啊。代码放在哪里的?
--  作者:cd_tdh
--  发布时间:2023/3/31 10:15:00
--  
感觉是bug,拉伸后底层是不是把分割条宽度也算到拉伸里面了,实际分割条宽度是没变的
--  作者:cd_tdh
--  发布时间:2023/3/31 10:22:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:有点蓝
--  发布时间:2023/3/31 10:26:00
--  
我测试分隔条的宽度没有变化。要注意分区面板的总宽度=panel1的宽度+panel2的宽度+分隔条的宽度
--  作者:cd_tdh
--  发布时间: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编辑过]