Splitter的问题。(50分)

D

dadabox

Unregistered / Unconfirmed
GUEST, unregistred user!
放三个panel在一Form上。
panel1和panel2的Align设为alLeft,放splitter,设为alLeft,Panel3设为alClient。
放两按钮,button1.click为 panel2.Visible := not panel2.Visible;
button2.click为 panel3.Visible := not panel3.Visible;
将panel3的visibled 设为 False;
运行程序。
点button1,再点button2,再点button1,看看如果。
splitter变到panel1和panel2中间去了,为什么会这样(请解释),怎么解决?
 
在我的机器上运行得很好啊,SPILTER还在Panel2 Panel3中间,你再试一遍?
 
我也遇到过这样的问题
你把
button1.click改为 panel2.Visible := not panel2.Visible;
splitter.left := panel1.width + panel2.width;//每次都这样设置一次
如果不设置,不知道什么时候就会出现你描述的情况

还有一个方法,就是把panel1,panel2再用一个panel包起来
 
有哪位知道是什么情况造成的吗?是不是一个BUG呀。
 
Splitter1.Visible := Panel?.Visible
 
panel1和panel2的Align 都为alLeft,然后 spliter ,这种处理不是太合适。
 
这没有什么不合理的,因为他们都不是同时使用,同时只会有一个在使用。就算同时使用,
也应该可以呀。
 
多人接受答案了。
 
顶部