以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]狐爸,请帮解决下分区面板问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34370)

--  作者:傻马难骑
--  发布时间:2013/6/6 13:56:00
--  [求助]狐爸,请帮解决下分区面板问题

狐爸好,项目设计中需要用到分区面板,希望分区面板上下二部分的高度随着窗口尺寸的不同能自动调整,请问如何实现?

 

我做了个例子见附件,希望窗口打开后SplitContainer2控件的上、下二部分(红色和蓝色)能根据窗口尺寸自动调整为相同高度,请帮忙设计下代码,谢谢!

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


--  作者:Bin
--  发布时间:2013/6/6 14:06:00
--  
这个不是帮你设过了吗?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:分区面板测试.table


--  作者:傻马难骑
--  发布时间:2013/6/6 14:21:00
--  

 

这个上下两部分高度明显不一致呀,我要的是上下两部分高度相等。


--  作者:Bin
--  发布时间:2013/6/6 14:22:00
--  
怎么不一致啊,完全是等比例缩放的,只要你开始设置的比例对就行了.
--  作者:Bin
--  发布时间:2013/6/6 14:24:00
--  
设置一下这里,那么就会自动等比例缩放了. 
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20130606142354.png
图片点击可在新窗口打开查看

--  作者:傻马难骑
--  发布时间:2013/6/6 14:35:00
--  

1、设计时只有个总高度数据,看不到上、下部分分别是多少高度,如何精确确定上下比例;

2、按你方法打开后明显下半部分比上半部分高。


--  作者:狐狸爸爸
--  发布时间:2013/6/6 15:12:00
--  

上面小,是因为有个文本框吧,占了一点地方吧?

只能设计窗口的时候,调整好比例。


--  作者:傻马难骑
--  发布时间:2013/6/6 16:37:00
--  
以下是引用狐狸爸爸在2013-6-6 15:12:00的发言:

上面小,是因为有个文本框吧,占了一点地方吧?

只能设计窗口的时候,调整好比例。

 

   是的呀,我就是要求除开文本框后(实际设计也有可能布置更多的其他控件)剩下的部分根据实际分辨率等情况自动分成相等高度的二部分。

   狐爸,这种问题在VB中是很好解决的呀,难道在FoxTable中做不到吗?


--  作者:擎天柱
--  发布时间:2013/6/6 17:01:00
--  
楼主的意思是这样么?
e.Form.Controls("SplitContainer2").SplitterDistance=e.Form.Controls("SplitContainer2").height/2-e.Form.Controls("SplitContainer2").SplitterWidth/2
这样,红绿区块各占1/2,放到哪个事件里呢?独立窗口里试了一下,打开可以,调整有点麻烦

--  作者:狐狸爸爸
--  发布时间:2013/6/6 17:07:00
--  

AfterLoad事件:

 

e.Form.Controls("TextBox1").text="测试分区面板"
Dim sp As WinForm.SplitContainer = e.Form.Controls("SplitContainer2")
sp.FixedPanel =0
sp.SplitterDistance = (sp.Height- sp.SplitterWidth - 21 ) / 2 + 21

[此贴子已经被作者于2013-6-6 17:11:09编辑过]