Timer控件
- 微软官方注解
- 实现侧边栏的折叠缩放
-
- 实现步骤:
- 代码实现
- 操作步骤(图片)
微软官方注解
Timer用于以用户定义的间隔引发事件。 此 Windows 计时器专为使用 UI 线程执行处理的单线程环境而设计。
它要求用户代码具有可用的 UI 消息泵,并且始终从同一线程运行,或将调用封送到另一个线程。使用此计时器时,请使用 Tick 事件执行轮询操作或显示指定时间段的初始屏幕。 每当属性 Enabled 设置为 true 且
Interval 属性大于零时,将根据 Tick 属性设置每隔一段时间 Interval 引发事件。
官方链接:Timer控件
实现侧边栏的折叠缩放
为了将注意力集中在使用Timer控件控制侧边栏的缩放,在这篇文章里不会讲关于侧边栏的制作。有兴趣的可以观看b站别人外网搬运的视频:侧边栏制作B站外网搬运视频
实现步骤:
1、选中侧边栏所在panel容器,右键选择属性;
2、分别设置最大尺寸(MaximumSize)和最小尺寸(MinimumSize);
最大尺寸一般就是正常尺寸,最小尺寸一般是折叠后想要的尺寸大小
3、从工具箱选择Timer控件;
4、选中Timer控件,右键选择属性;
5、点击闪电图标切换到事件面板,直接选中Tick所在单元格按Enter键直接生成事件;
6、在定时事件中执行相应逻辑
7、最后还需要设置一个点击事件,在这个事件里触发定时器
代码实现
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace EIS { public partial class Form1 : Form { bool sidebarExpand;//侧边栏折叠和展开标志 public Form1() { InitializeComponent(); } /// <summary> /// timer控件事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timer1_Tick(object sender, EventArgs e) { if (sidebarExpand) {//处于展开状态并发生点击,侧边栏边框一种缩减,直到设置的最小尺寸 sidebar.Width -= 10; if(sidebar.Width == sidebar.MinimumSize.Width) { sidebarExpand = false; timer1.Stop(); } } else { sidebar.Width += 10; if (sidebar.Width == sidebar.MaximumSize.Width) { sidebarExpand = true; timer1.Stop(); } } } private void button1_Click(object sender, EventArgs e) {//侧边栏折叠或展开按钮点击 timer1.Start(); } } }
操作步骤(图片)
1、
2、