C#使用Panel实现窗体动态侧边栏

具体:http://www.verydemo.com/demo_c92_i253435.html

有时候发现界面的布局比较复杂,需要隐藏显示一部分内容需要使用动态侧边栏的方法实现,虽然可是使用第三方的控件,但是有时候也不需要那么麻烦,自己做了一个简单的,可是使用在要求不高的场所。

可以实现侧边栏的展开、隐藏和锁定的功能。添加的侧边栏默认是不显示的通过鼠标的悬停事件MouseHover来触发展开动作。侧边栏实际上是一个窗体或者是容器,实现展开的动作必须在一个时间段内逐步的增加宽度,我采用Panel作为容器的载体,在一个线程中逐步增加Panel的Width属性。隐藏,主要使用的是Panel的Visible属性来实现,隐藏条件的判断是通过判断鼠标位置是不是在侧边栏的边界之外来实现的。锁定,是使Panel始终处于显示的状态,使隐藏Panel的函数不执行来实现的。

界面

相关代码:

展开:

private void toolStripButton2_MouseHover(object sender, EventArgs e)

        {

//鼠标悬停事件,展开

if (!this.panel2.Visible)  //panel2为侧边栏的容器

            {

Thread ts = new Thread(new ParameterizedThreadStart(TaskShowPanel));

                ts.IsBackground = true;  //设置为后台线程

                ts.Priority = ThreadPriority.Normal;  //设置优先级

                ts.Start((Object)245);   //Panel展开宽度245

            }

…………………………………………………………………………

  • 2
    点赞
  • 0
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

qq57757384

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者