C# ZIP解压缩 模拟时钟
创始人
2024-03-12 02:23:54
0

一 ZIP接压缩

实现一个解压缩程序,可以吧zip文件解压缩到指定目录。

相关技术:
① ZIP解压缩的API;
② 工作进程;
③ 进度条控件的使用;

二 界面流程

拷贝粘贴,是软件工程师的日常操作。
API太多,是不能全记住的,只需要记住位置。用到的时候拷贝粘贴过来,再稍微修改即可。

三 定时任务

定时任务:定时的,周期性执行的任务。
例如:每3秒刷新一次显示,每5秒自动保存数据。
定时任务的实现方式:
① 创建工作线程,sleep控制时间间隔;
② 创建定时器:

System.Timers.Timer(基于线程池);
System.Threading.Timer(基于线程池);
System.Windows.Forms.Timer(基于消息循环);

1 使用线程定时器

System.Threading.Timer 一个基于线程池的定时器。
① 创建定时器;
② 启动定时器/停止定时器;
③ 在定时器回调中,执行定时任务;
(回调在工作线程中执行的)
④ 窗口关闭时,销毁定时器;

以下实例:button控件、textbox控件

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 定时任务
{public partial class Form1 : Form{System.Threading.Timer timer;int count = 5;public Form1(){InitializeComponent();//创建定时器//dueTime为-1,表示禁用timer = new System.Threading.Timer(new TimerCallback(this.OnTimer), null, -1, -1);}//点击开始是,启动定时器private void startBtn_Click(object sender, EventArgs e){count = 5;ShowCount();timer.Change(1000, 1000);}//点击停止时,停止定时器private void stopBtn_Click(object sender, EventArgs e){timer.Change(-1, -1);}//窗口关闭时,销毁定时器private void Form1_FormClosing(object sender, FormClosingEventArgs e){timer.Dispose();}//此定时器回调在工作线程(线程池)中调用private void OnTimer(object state){count--;ShowCount();//在工作线程中不能直接操纵UI控件if(count<=0){timer.Change(-1, -1);//停止定时器return;}}private void ShowCount(){if(this.InvokeRequired){this.Invoke(new Action(this.ShowCount));return;}this.countLabel.Text = count + "";}}
}

注意:此定时器是基于线程池,回调在工作线程中执行不能直接更新UI;

四 界面定时器

System.Windows.Forms.Timer一个基于消息的定时器:
① 创建定时器;
② 启动定时器/停止定时器;
③ 定时器的回调,在消息循环中执行(可以直接更新UI控件/必须尽快返回);
④ 销毁定时器;

1 要点与细节

① 界面定时器的好处:可以直接更新UI控件;
② 界面定时器的局限:只适合执行轻量级任务,必须尽快完成,不然界面会卡顿;
对于重量级的定时任务,须使用线程定时器;

五 模拟时钟

① 绘制:表盘;
② 绘制:时针、分针、秒值;
③ 定时器:每秒钟重绘制一次;

1 要点与细节

① 控件的销毁
Control 对象会随着父窗口的销毁二销毁,可以在控件销毁时,一并销毁Timer对象;
模拟时钟.rar: https://url09.ctfile.com/f/22158009-739234274-34012d?p=5939 (访问密码: 5939)

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...