以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 分区界面与窗口高度 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=123902) |
||||
-- 作者:ZJZK2018 -- 发布时间:2018/8/26 15:03:00 -- 分区界面与窗口高度 老师: 有二个分区界面SplitContainer1和SplitContainer2,点击按钮,关闭分区界面1的Panel2,并要求窗口高度与Panel1相同。 代码如下: Dim sp As WinForm.SplitContainer = e.Form.Controls("SplitContainer1") If e.Sender.text = "∨∨∨∨" Then sp.Panel2.Collapsed = True e.sender.text = "∧∧∧∧" Else sp.Panel2.Collapsed = False e.sender.text = "∨∨∨∨" End If |
||||
-- 作者:有点甜 -- 发布时间:2018/8/26 23:16:00 -- 做个具体的例子发上来测试吧。 |
||||
-- 作者:ZJZK2018 -- 发布时间:2018/8/26 23:20:00 --
|
||||
-- 作者:有点甜 -- 发布时间:2018/8/27 0:12:00 -- Dim sp As WinForm.SplitContainer = e.Form.Controls("SplitContainer1") If e.Sender.text = "∨∨∨∨" Then e.Form.baseform.height = 385 sp.Panel2.Collapsed = True e.sender.text = "∧∧∧∧" Else e.Form.baseform.height = 486 sp.Panel2.Collapsed = False e.sender.text = "∨∨∨∨" End If |
||||
-- 作者:客人 -- 发布时间:2018/9/12 13:51:00 -- 老师 需求:如何提取SplitContainer1的变化前的高度?? Dim sp As WinForm.SplitContainer = e.Form.Controls("SplitContainer1") If e.Sender.text = "∨∨∨∨" Then e.Form.baseform.height = sp.Panel1.height sp.Panel2.Collapsed = True e.sender.text = "∧∧∧∧" Else e.Form.baseform.height = sp.height \'能否调用变化前的高度??? sp.Panel2.Collapsed = False e.sender.text = "∨∨∨∨" End If |
||||
-- 作者:有点甜 -- 发布时间:2018/9/12 15:02:00 -- 单独用一个 static 变量或者 vars 变量记录之前的值。 |
||||
-- 作者:ZJZK2018 -- 发布时间:2018/9/12 15:57:00 -- 有点甜老师如何使用变量,我不会,能否指点? |
||||
-- 作者:有点甜 -- 发布时间:2018/9/12 15:59:00 -- 在改变之前,先记录其值,如
vars("旧值") = sp.height \'然后后面代码改变控件高度 |
||||
-- 作者:ZJZK2018 -- 发布时间:2019/4/30 11:44:00 -- 窗口为主窗口,sp1.Panel2为固定分区,如何读取窗口生成后的sp1.Panel1的高度,为什么sp1.Panel1.Height的高度是原窗口设计时的高度? 老师有没有办法根据不同电脑显示屏的窗口尺寸动态计算出窗口Table1加载行数?
Dim sp1 As WinForm.SplitContainer = e.Form.Controls("SplitContainer1") \'Dim n As Integer = Math.Floor((tb1.Grid.Height-20)/32) \'根据窗口tb1计算出加载行数
![]() ![]() |
||||
-- 作者:有点甜 -- 发布时间:2019/4/30 12:36:00 -- 你试试把代码写到sizechanged事件去
Dim sp1 As WinForm.SplitContainer = e.Form.Controls("SplitContainer1") msgbox(sp1.Panel1.Height) |