以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]分区面板自动大小代码没执行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103467) |
||||
-- 作者:jyh7081 -- 发布时间:2017/7/9 13:49:00 -- [求助]分区面板自动大小代码没执行 窗口中的页面集合有4个页面,每个页面内有一个分区面板,希望在打开窗口时每个分区面板的两个分区大小一样,代码如下,放在窗口的afterload事件中,但没有起作用,是何原因? Dim sp3 As WinForm.SplitContainer = e.Form.Controls("SplitContainer3") sp3.SplitterDistance = sp3.Width * 0.5 Dim sp4 As WinForm.SplitContainer = e.Form.Controls("SplitContainer4") sp4.SplitterDistance = sp4.Width * 0.5 Dim sp5 As WinForm.SplitContainer = e.Form.Controls("SplitContainer5") sp5.SplitterDistance = sp5.Width * 0.5 Dim sp6 As WinForm.SplitContainer = e.Form.Controls("SplitContainer6") sp6.SplitterDistance = sp6.Width * 0.5
[此贴子已经被作者于2017/7/9 14:07:24编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/7/9 14:09:00 -- 我测试没问题,做个例子上来看看。 |
||||
-- 作者:jyh7081 -- 发布时间:2017/7/9 15:18:00 -- 出错的例子:
|
||||
-- 作者:有点甜 -- 发布时间:2017/7/9 15:26:00 -- 写到sizechanged事件去。
|
||||
-- 作者:jyh7081 -- 发布时间:2017/7/9 17:00:00 -- 写到示例的sizechanged事件去没问题,写到我的项目中提示: |
||||
-- 作者:有点甜 -- 发布时间:2017/7/9 17:43:00 -- 当你的控件足够小的时候,就会报错。加上判断
Dim sp3 As WinForm.SplitContainer = e.Form.Controls("SplitContainer3") If sp3.width > 10 Then |
||||
-- 作者:jyh7081 -- 发布时间:2017/7/9 18:01:00 -- 不报错了,但是没起作用 |
||||
-- 作者:有点甜 -- 发布时间:2017/7/9 18:33:00 -- 你给的例子,我测试没问题。 |
||||
-- 作者:jyh7081 -- 发布时间:2017/7/9 18:55:00 -- 抱歉版主,有个情况没交代清楚,窗口打开时右半边是隐藏的,afterload里有这句代码,忘记写入示例了:e.Form.Controls("SplitContainer2").Panel2.Collapsed = True。 代码放入页面集合的SelectedIndexChanged中,然后改变了一下页签的顺序,就好了,也不知道为什么要变一下页签顺序,才会好。 示例没问题。 [此贴子已经被作者于2017/7/9 20:05:07编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/7/9 21:23:00 -- 回复9楼,你panel2是折叠的,那其宽度就为0。当你改变panel2宽度的时候,又没有触发代码,自然无效。
反正,你找一个地方触发代码就好了。 |