您的位置:首页 > 编程语言 > C#

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

2014-05-25 14:41 429 查看
具体: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

            }

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: