06 案例二:文件复制.ppt
授课人:贺敏授课人:贺敏EmailEmail:文件复制文件复制C#WindowsC#Windows程序设计程序设计 完成文件复制的相关功能完成文件复制的相关功能完成文件复制的相关功能完成文件复制的相关功能:w w核心功能核心功能核心功能核心功能:文件复制文件复制文件复制文件复制w w进度显示进度显示进度显示进度显示w w速度显示速度显示速度显示速度显示 功能描述功能描述 涉及知识点涉及知识点打开/保存文件对话框的使用通用文件读写后台线程的使用定时器的使用进度条控件 打开/保存文件对话框w对话框的显示w对话框的结果w对话框的过虑条件知识点知识点 创建FileCopy项目主窗口设置w标题:文件复制w窗口设置为固定大小的对话框w初始位置屏幕居中学生练习学生练习 添加两个Label:源文件与目标文件添加两个TextBox:分别显示源文件和目标文件的全文件名添加两个Button:分别获取源文件和目标文件。学生练习学生练习 文件流的创建w文件名wFileMode:文件打开方式wFileAccess:文件访问方式文件读写wRead(byte buffer,int offset,int length)wWrite(byte buffer,int offset,int length)知识点知识点 文件复制功能的单线程实现测试大文件复制,观察“假死”现象学生练习学生练习 ProgressBar进度条控件w主要用于显示进度wStyle属性wValue属性知识点知识点 多线程wUI线程w工作线程wCPU轮流执行时间片,模拟并行处理知识点知识点 BackgroundWorker:后台工作线程w执行耗时长的工作wDoWork事件:执行功能,通过RunWorkerAsync()方法触发。wProgressChanged事件:通过ReportProgress()方法触发,处理进度wRunWorkerCompleted事件:功能执行完成后触发。知识点知识点 Timer定时器w使用单独线程进行定时触发,主要使用于每间隔一段时间执行功能的场合。wInterval属性:设置间隔时间wEnable属性:是否开始定时wTick事件:每间隔一段时间需要执行的功能实现。知识点知识点 后台工作线程的使用wDoWork事件中执行文件复制功能wProgressChanged事件中处理进度条wRunWorkerCompleted事件中向用户报告复制完成的信息。学生练习学生练习 定时器的使用wInterval属性设置为1000wTick事件中处理复制速度的显示w定时器的打开与关闭学生练习学生练习 知识点总结知识点总结进度条控件的使用打开/保存文件对话的使用后台工作线程的使用Timer定时器的使用基本控件的使用 技能总结技能总结熟练掌握通用对话框的使用熟练掌握Timer定时器的使用熟练掌握进度条控件的使用掌握后台工作线程的使用理解多线程 Its Over!可以 休息啦!