以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 求帮忙将这个项目改成打开的时候是折叠的状态的代码,谢谢啦 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81392)
|
-- 作者:lovemaders
-- 发布时间:2016/2/26 15:27:00
-- 求帮忙将这个项目改成打开的时候是折叠的状态的代码,谢谢啦
|
-- 作者:lovemaders
-- 发布时间:2016/2/26 15:31:00
--
将几个面板设置为隐藏暂时好像可以,但是这样是不是不对啊。应该有其他方法吧
|
-- 作者:大红袍
-- 发布时间:2016/2/26 15:42:00
--
afterLoad事件
For i As Integer = 1 To 4 Dim LblCtl As Windows.Forms.Label = e.Form.Controls("Label" & i).BaseControl LblCtl.Image = GetImage("Control-270.png") LblCtl.ImageAlign = Drawing.ContentAlignment.MiddleLeft LblCtl.Cursor = Windows.Forms.Cursors.Hand Dim Pnl As WinForm.Panel = e.Form.Controls("Panel" & i) pnl.Visible = False Dim Lbl As WinForm.Label = e.Form.Controls("Label" & i) lbl.Top = (lbl.height+3) * (i-1) + 3 Next
|
-- 作者:lovemaders
-- 发布时间:2016/2/26 15:50:00
-- OK
thanks
|
-- 作者:lovemaders
-- 发布时间:2016/3/7 9:41:00
-- 这个项目能再完善一下吗
这个项目能再完善一下吗?点击当前结点的时候隐藏其他展开的结点
|
-- 作者:大红袍
-- 发布时间:2016/3/7 9:56:00
--
Click事件
Select Case e.Sender.Name Case "Label1","Label2","Label3","Label4" Dim top As Integer = 3 For i As Integer = 1 To 4 Dim Lbl As WinForm.Label = e.Form.Controls("Label" & i) Dim Pnl = e.Form.Controls("Panel" & i) If i = e.sender.name.Replace("Label", "") Then Pnl.Visible = Not Pnl.Visible e.sender.BaseControl.Image = IIf(Pnl.Visible, GetImage("control-270.png"),GetImage("control.png")) e.sender.BackColor = IIf(Pnl.Visible, Drawing.SystemColors.ControlDark, Drawing.SystemColors.Control) Else Pnl.Visible = False End If lbl.Top = Top Top += lbl.Height + 3 If pnl.visible Then Pnl.Top = Top Top += pnl.height + 3 End If Next End Select
|
-- 作者:lovemaders
-- 发布时间:2016/3/7 10:35:00
-- 好的,谢谢
好的,谢谢,就是这种方式没用内部函数,还有一种方式,用了内部函数还有计时器,也是这种效果,这两种 是不是这个不用内部函数和计时器的方案会更好一点?
|
-- 作者:大红袍
-- 发布时间:2016/3/7 10:38:00
--
代码写在一个窗口上肯定比较好,如果要把这个东西做成通用的,那就要把代码移植到内部函数取,这样功能才能被复制。
|
-- 作者:lovemaders
-- 发布时间:2016/3/15 22:10:00
-- 这个代码能不能再升级一下
用这个代码的话,其他都可以就是点击事件中,第一个母节点与自面板中的第一个子节点,以及,母节点之间的间隙是一样,怎么分开调整。让母节点与子面板的子节点第一个间距可以调成0,但是母节点之间的间隙保持10这样,现在点击是这俩间隙是一样的,看起来难看。
|
-- 作者:大红袍
-- 发布时间:2016/3/15 22:48:00
--
Select Case e.Sender.Name Case "Label1","Label2","Label3","Label4" Dim top As Integer = 3 For i As Integer = 1 To 4 Dim Lbl As WinForm.Label = e.Form.Controls("Label" & i) Dim Pnl = e.Form.Controls("Panel" & i) If i = e.sender.name.Replace("Label", "") Then Pnl.Visible = Not Pnl.Visible e.sender.BaseControl.Image = IIf(Pnl.Visible, GetImage("control-270.png"),GetImage("control.png")) e.sender.BackColor = IIf(Pnl.Visible, Drawing.SystemColors.ControlDark, Drawing.SystemColors.Control) Else Pnl.Visible = False End If lbl.Top = Top Top += lbl.Height + 0 If pnl.visible Then Pnl.Top = Top Top += pnl.height + 10 Else top += 10 End If Next End Select
|