以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:动态调整分区面板代码无效  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80880)

--  作者:bahamute
--  发布时间:2016/2/5 10:17:00
--  请教:动态调整分区面板代码无效
以下代码在命令窗口有效,放到afterload后无效,不知何故?

If SysInfo.WorkingAreaWidth >=1920  \'如果屏幕分辨率大于1920
    Dim p As WinForm.SplitContainer
    p=Forms("主窗口").Controls("SplitContainer1")
    p.SplitterDistance=1350
End If

--  作者:大红袍
--  发布时间:2016/2/5 10:18:00
--  

加入msgbox,看代码是否执行。

 

如果确实不行,就写到timertick看看。


--  作者:bahamute
--  发布时间:2016/2/5 10:25:00
--  
第二次弹出1214,这个很奇怪,设置的明明为1350!
写到timertick同样无效
但是命令窗口却正常。

注:主窗口,屏幕分辨率1920*1080

If SysInfo.WorkingAreaWidth >=1920  \'如果屏幕分辨率小于1920
    
    Dim p As WinForm.SplitContainer
    p=e.Form.Controls("SplitContainer1")
MessageBox.Show(p.SplitterDistance)
    p.SplitterDistance=1350
MessageBox.Show(p.SplitterDistance) 

End If
[此贴子已经被作者于2016/2/5 10:32:46编辑过]

--  作者:bahamute
--  发布时间:2016/2/5 10:38:00
--  
找到原因了,因为窗体原始宽度是1440,并非1920,故上述代码失效,改1920后正常。
[此贴子已经被作者于2016/2/5 10:38:51编辑过]