以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]splitcontainer左右展开 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=158124) |
-- 作者:chnfo -- 发布时间:2020/11/9 11:35:00 -- [求助]splitcontainer左右展开 Splitcontainer能不能点击分隔线,就把右边的panel收起来,再点一下,又展开来。但不是collapsed,因为叠起来就看不见分隔条了 |
-- 作者:有点蓝 -- 发布时间:2020/11/9 11:45:00 -- 有点麻烦,要自行改造这个控件,用起来有点麻烦,参考:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=83709 |
-- 作者:chnfo -- 发布时间:2020/11/9 14:14:00 -- 试了下,可以用。小问题一个:如何把这个自定义的splitformex放到某个控件里?例如:e.form.controls(“splitcontainer1”).panel2.controls.add(自定义的控件)。上面这样报错了,提示未找到类型splitpanel的公共成员controls [此贴子已经被作者于2020/11/9 14:15:57编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/11/9 14:15:00 -- 贴出完整代码 |
-- 作者:chnfo -- 发布时间:2020/11/9 14:19:00 -- 窗口afterload事件 Dim sp As New SplitFormEx \'已经在全局代码里定义了public MainSplitFormEx MainSplitFormEx = sp sp.Dock = 5 sp.FixedPanel = 1 \'尺寸变化时,Panel保持不动 sp.SplitterDistance = 300 \'分隔条的初始位置 e.Form.Controls("SplitContainer1").panel2.Controls.Add(sp) ‘如果直接用e.Form.Panel.Controls.Add(sp)又没问题 sp.panel1.Controls.Add(e.Form.Controls("Table1").BaseControl) e.Form.Controls("Table1").Dock = 5 sp.panel2.Controls.Add(e.Form.Controls("Table2").BaseControl) e.Form.Controls("Table2").Dock = 5 下面是从那个示例中直接拷出来的 Public MainSplitFormEx As SplitFormEx \'主窗口中的分割面板 Public ColorSplitterStandard As Color = Color.White Public ColorSplitterActivation As Color = Color.Black Public ColorSplitterBack As Color = Color.LightGray \'\'\' 这是一个用于窗口的分割器面板,继承SplitContainer \'\'\' 能执行分区面板的收缩 \'\'\' 主要体现窗口分割的条的颜色 Public Class SplitFormEx Inherits System.Windows.Forms.SplitContainer [此贴子已经被作者于2020/11/9 14:21:41编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/11/9 14:34:00 -- e.Form.Controls("SplitContainer1").basecontrol.Panel2.Controls.Add(sp) |
-- 作者:chnfo -- 发布时间:2020/11/9 14:41:00 -- 解决大问题了。感谢。 要是能把它直接集成到FT中就好啦。这个还是挺有用的
|
-- 作者:chnfo -- 发布时间:2020/11/9 15:00:00 -- 解决大问题了。感谢。 要是能把它直接集成到FT中就好啦。这个还是挺有用的
|
-- 作者:chnfo -- 发布时间:2020/11/26 15:49:00 -- 如果我想让这个上下布局,好像没这个参数啊。似乎只能左右 [此贴子已经被作者于2020/11/26 15:50:12编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/11/26 16:19:00 -- Dim sp As WinForm.SplitContainer = Forms("窗口4").Controls("SplitContainer1") sp.Orientation = 0
|