求一个自动伸缩面板的例子,就是把鼠标放到上面时面板就自动弹出来,移走鼠标就弹回去,不知大家听懂我的意思没有?也就是像c#.net平台下的那个工具箱悬浮菜单(窗体左边)。或者给个像c#.net平台下的那个工具箱悬浮菜单中的那些自动上下弹开的面板例子也行,分不够再开。

解决方案 »

  1.   

    用mouse enter和mouse leave事件控制
      

  2.   

    有第三方控件,
    或者自己写,用mouse enter  mouse leave
      

  3.   

    在codeproject上有这个dll 直接拿来用就可以了
    你搜索SampleDocking 就ok!
      

  4.   

    给你部分代码,未经验证的,算是个初级算法吧,详细部分如果你有经验就自己想去,没经验就好好学习吧:
    在button的mouse enter 过程中加入如下代码:
    ''这里用groupbox做面板,name 属性为gb用button做获取鼠标焦点来响应面板显示隐藏,属性name为bt。group左端或右端分别紧贴窗体左或右端。
      Private Sub Bt_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.MouseEnter
            If gb.Left >= 528 Then
                gb.Left = gb.Left - 152
            End If
        End Sub    Private Sub Bt_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.MouseLeave
            If gb.Left <= 376 Then
                gb.Left = gb.Left + 152
            End If希望你能看懂,先告诉一下,这个没有你说的那种动画显示和隐藏的效果,不过要实现这种效果也不是什么难事。我只给你指点一下,具体的呢你自己动脑思考吧!不难的!希望你能自己做出来!另外哪位高手也给我指正下这段代码的不足之处,大家共同进步!谢谢!
      

  5.   

    代码中的几个数字怕你不明白,这里给你注释下:if语句中的数字是gb的位置,152是gb的width属性。
      

  6.   

    不好意思啊!我把VB.net的代码放这里啦!没注意是C#!
      

  7.   

    第三方控件多的是
    DevExpress, Infragistics……一大堆。
      

  8.   

    in mouseenter event 
    write  below code
    if(themovepanel.width = theminwidth)
      themovepanel.width = 300;
    in mouseleave event
    write below code
    themovepanel.width = theminwidth;
      

  9.   

    upper error modify to :
    in mouseenter event 
    write  below code
    if(themovepanel.width == theminwidth)
      themovepanel.width = 300;
    in mouseleave event
    write below code
    themovepanel.width = theminwidth;