图片管理器课程设计
南邮软件工程课程设计实验报告材料-教务管理系统

南京邮电大学实验报告课程名称:软件工程课题名称教务系统课程设计专业:广播电视工程学生姓名:陈超班级学号:B13011413指导教师:范山岗日期:2015 年12 月25 日实验面象对象软件设计一、实验目的用面象对象方法设计实用软件,掌握需求分析方法,掌握掌握UML设计方法。
二、实验性质验证、设计实验。
三、实验要求1、选定题目编写需求分析说明2、学习Rational Rose环境3、学习通过Rational Rose绘制各类框图的方法。
四、环境简介1、Rational Rose可视化环境组成Rose界面的五大部分是浏览器、文档工具、工具栏、框图窗口和日志。
见图1-1。
图1-1:Rose界面浏览器:用于在模型中迅速漫游。
文档工具:用于查看或更新模型元素的文档。
工具栏:用于迅速访问常用命令。
框图窗口:用于显示和编辑一个或几个UML框图。
日志:用于查看错误信息和报告各个命令的结果。
1.2浏览器和视图浏览器是层次结构,用于在Rose模型中迅速漫游。
在浏览器中显示了模型中增加的一切,如参与者、用例、类、组件等。
浏览器中包含四个视图:Use Case 视图、Logical视图、Component视图和Deployment视图。
点击每个视图的右键,选择new就可以看到这个视图所包含的一些模型元素。
1.3框图窗口在框图窗口中,我们可以浏览模型中的一个或几个UML框图。
改变框图中的元素时,Rose自动更新浏览器。
同样用浏览器改变元素时,Rose自动更新相应框图。
这样,Rose就可以保证模型的一致性。
五、实验步骤1、编写需求分析说明书对系统需求进行初步的整理与分析,是后续建模和设计工作的基础。
需求分析说明书详情请见附录。
2、用UML语言对系统进行分析与建模(OOA)2.1建立用例图use case diagram从用例图中我们可以看到系统干什么,与谁交互。
用例是系统提供的功能,参与者是系统与谁交互,参与者可以是人、系统或其他实体。
核心素养导向下的人工智能课程设计——以《机器听我说》为例

核心素养导向下的人工智能课程设计——以《机器听我说》为例● 饶加玺摘 要:2018年、2022年,教育部先后修订发布了中小学信息科技课程标准,将人工智能主题加入课程内容。
为应对21世纪发展的挑战,培养学生核心素养成为基础教育的关键问题,教师如何依据核心素养培养目标设计人工智能主题课程成为研究热点。
课程设计标准、方案方面,美国人工智能协会联合美国计算机科学教师协会成立中小学人工智能教育指导工作组(AI4K12),设计了五大概念主题,用以指导教师进行人工智能课程设计。
本案例以核心素养为导向,采用五大概念作为学习目标指导,开发了面对初中生的语音识别课程,进行了课程教学实践,在研究实践中探寻初中阶段人工智能课程的有效实施路径。
关 键 词:核心素养;人工智能教育;信息科技;语音识别作者简介:饶加玺,上海市新杨中学信息科技教师,主要研究方向为中学信息科技教学与教育 技术。
一、引言人工智能这一利用计算机模拟人类学习、思考和决策等一系列智能行为的技术,经历大半个世纪的发展,取得了显著的进步。
图形识别、语音识别、生物识别等模式识别技术已广泛投入生活的各个领域,如交通、城市管理、智能生活等。
人工智能也与机器人领域进行深度结合,如无人机、无人驾驶、机械臂等。
在1997年与2016年,人工智能分别打败了国际象棋冠军与国际围棋冠军,取得了机器学习的突破性胜利。
近两年,OpenAI的高速发展再次深化了人工智能与人类世界的融合。
从种种案例和生活的实际体验中可以发现人工智能正在改变现代社会的生产方式和未来学习的思维方式,因此在现代信息科技教学中,指向未来发展的人工智能教学已然成为重要的课题。
2017年,国务院发布《新一代人工智能发展规划》,指出应逐步、全面开展全民人工智能教育并且将其纳入基础教育课程的体系中。
2018年,《普通高中信息技术课程标准(2017年版)》将人工智能作为课程加入了必修模块中,设置了包括机器学习、线性回归、神经网络、计算机视觉、自然语言处理等多个人工智能核心基础模块。
qt电子相框课程设计

qt电子相框课程设计一、课程目标知识目标:1. 学生能理解并掌握qt编程基础,包括基本控件的使用和事件处理机制。
2. 学生能够了解电子相框的功能需求,运用qt编程实现图片的显示、切换和管理。
3. 学生掌握文件操作相关知识,实现对本地图片的读取和保存。
技能目标:1. 学生通过实际操作,培养动手能力和问题解决能力,能够独立完成一个qt 电子相框项目的开发。
2. 学生能够运用所学知识,进行项目设计和实现,提高编程实践能力。
3. 学生学会团队协作,提高沟通与表达能力,为后续项目开发奠定基础。
情感态度价值观目标:1. 学生在课程中培养对编程的兴趣和热情,树立学习信息技术的信心。
2. 学生通过项目实践,体验创新过程,培养创新精神和实践能力。
3. 学生在团队合作中学会尊重他人,培养合作意识,提高社会责任感。
本课程针对初中年级学生,结合教材内容,注重理论与实践相结合,旨在提高学生的编程能力和实践操作技能。
课程设计考虑到了学生的年龄特点和认知水平,以实际项目为驱动,激发学生的学习兴趣,培养其创新精神和团队协作能力。
通过本课程的学习,学生能够掌握qt编程基础,实现电子相框的功能,并为后续学习打下坚实基础。
二、教学内容1. qt编程基础:包括qt环境搭建、基本控件的使用(如按钮、标签、文本框等)以及事件处理机制。
教材章节:第一章 qt概述,第二章 控件与事件。
2. 电子相框功能需求分析:介绍电子相框的功能模块,如图片显示、切换、管理等。
教材章节:第三章 项目分析与设计。
3. qt实现电子相框功能:a. 图片显示:使用qt的图形视图框架(Graphics View Framework)实现图片显示。
b. 图片切换:利用定时器(QTimer)实现图片自动切换功能。
c. 图片管理:实现本地图片的读取、保存和删除操作。
教材章节:第四章 qt编程实践。
4. 项目实践与团队协作:分组进行项目开发,培养学生的动手能力、团队协作能力和沟通表达能力。
《商品拍摄与图片处理》课程标准

浙江省中等职业学校电子商务专业《商品拍摄与图片处理》课程标准一、适用专业:三年制中职电子商务专业二、课时:108三、学分:6学分四、课程设计思路本课程是中职电商专业核心课程,课程标准根据中职生需掌握的网店美工技能特点,结合电子商务企业实际需要,职业资格认定及中高衔接基础要求,整合了商品拍摄、商品图片基本处理、网店基本模块设计与制作等企业相关工作内容,根据职业学校学生的认知特点和学生职业生涯发展的需要,通过企业提供的各种岗位实际案例进行项目教学,使学生能拍摄、懂设计、会文案,从而掌握商品拍摄与网店美工的工作能力。
五、课程目标通过本课程的学习和实践,学生能拍摄、懂设计、会文案。
使学生系统地掌握商品拍摄的基本技能、图片处理的基本知识和方法,学会利用图片处理软件来处理和制作网店建设中的各类图片作品,具备分析和解决实际问题的能力,提高审美观、整体空间色彩把握能力、构图能力,培养学生真诚、细心、善于沟通和协调合作的品质,对电子商务专业学生职业能力培养和职业素养的养成起主要支撑作用。
职业能力目标:1.会根据商品特征和市场需要拍摄商品图片;2.会对拍摄的商品图片进行相应的色彩调整和大小、抠图、瑕疵处理;3.能根据具体需要进行商品的主图设计与制作;4.能针对不同的商品设计与制作商品的详情页;5.能根据店铺的运营方向和装修风格设计网店店标;6.能根据店铺的运营方向和装修风格设计网店店招;7.能根据具体需要设计与制作商品推广海报和活动促销海报;8.能进行移动端网店的首页、商品详情页以及微淘广播的设计与制作。
七、教材编写建议(1)教材应充分体现基于工作过程项目课程的设计思想,突出对中等职业学校学生的职业能力培养的思路。
(2)应体现以就业为导向、以学生为本的原则,将当前热门的移动端电商平台设计纳入教材,使教材紧跟行业和技术发展。
(3)教材应图文并茂,语言表述应深入浅出,并力求形成一种灵活、亲切、活泼的语体风格,以符合中职学生的认知特点。
c#课程设计图片管理系统

信息与电气工程学院课程设计说明书(200 /200 学年第学期)课程名称:软件程序设计课程设计题目:图片管理器专业班级:物联网工程1201班学生:铭学号: 120730123指导教师:辉设计周数:第十九周设计成绩:2015年 1月 9日1.需求分析由于对于现在使用电脑的大部份用户来说,在进行图片查看浏览的时候都会用到图片管理器,而对于图片的处理大部份也都是一些具有专业图片处理知识的人才会做的。
对于一些特别的观看效果来说,我们用一些专业的看图软件是高射炮打蚊子,仅仅为了看图而用这样一些软件是不合算的,我们必须花费一些时间去学习这些软件,因为越是功能强大的软件,往往使用起来越复杂。
这是一个很现实的规律。
对于一般的用户来说,他们说不定连这个软件都不知道。
我们需要一个简单实用的图片管理器来进行浏览、管理。
本软件为一个简单而且很实用的图片查看工具,不但可以进行图片的一些简单查看,浏览操作,而且还可以进行用户登录、分类、增删等功能,是一款比较适合广大普通用户和非计算机专业的用户的图片查看软件,本软件不但界面简洁,功能齐全,而且操作简单。
是款比较容易操作,实用的图片管理软件。
我们从用户角度,把软件功能的实现变得简单,易于操作。
2.开发与运行环境开发环境:Windows XP、Windows 7开发工具:Microsoft Visual studio2010 C#、SQL2008运行环境:Windows XP/72.系统设计3.1.系统流程3.2.功能模块3.详细设计4.1.登陆界面本系统采用“用户—账号—数据库”一体模式,做到用户登录以后能够浏览与管理的图片及相册都为私人所有,以确保隐私安全。
主界面添加目录删除目导入图片删除图片退出浏览文件修改名称导入到目录图片浏览界面返回目录上一张下一张自动播放时间间隔实际大小合适大小删除图片4.2.主界面菜单栏按钮除了有图标及名称以外,鼠标悬停一秒自动显示提示,主体部分左侧目录列表与缩略图显示区域之间边框位置可调。
观看图片导入课程设计

观看图片导入课程设计一、课程目标知识目标:1. 学生能通过观看图片,识别并描述课程相关的基本概念和知识点。
2. 学生能够理解图片中所蕴含的学科原理,并将其与课本知识有效联系起来。
3. 学生能够运用图片信息,对课程内容进行深入分析和解读。
技能目标:1. 学生培养观察力,通过图片观察提炼关键信息,提高信息获取能力。
2. 学生学会运用图片导入学习,激发学习兴趣,培养自主学习能力。
3. 学生能够运用图片辅助讲解,提高表达和沟通能力。
情感态度价值观目标:1. 学生通过图片导入课程,激发对学科知识的热爱和兴趣,培养积极的学习态度。
2. 学生在观察和分析图片的过程中,培养审美情趣和批判性思维。
3. 学生通过课程学习,了解学科知识在实际生活中的应用,增强社会责任感和使命感。
课程性质:本课程为学科知识导入课,通过观看图片激发学生兴趣,引导学生主动探索学科知识。
学生特点:学生处于好奇心旺盛的阶段,对直观、有趣的图片较为敏感,容易激发学习兴趣。
教学要求:教师应注重图片的挑选与课程知识的紧密结合,引导学生从图片中发现问题、解决问题,达到课程目标。
同时,关注学生个体差异,鼓励学生积极参与,确保每个学生都能在课程中收获知识和成长。
二、教学内容本节课教学内容紧密围绕课程目标,依据教材相关章节进行组织。
具体内容包括:1. 图片观察与识别:挑选与课程主题相关的图片,引导学生观察、描述图片中的关键信息,建立图片与课本知识的联系。
2. 知识点讲解:结合教材章节,针对图片中的关键信息,详细讲解课程相关的基本概念、原理和方法。
3. 实践应用:设计实际案例,让学生运用图片分析和解决具体问题,加深对课程知识的理解。
教学内容安排与进度:第一课时:图片观察与识别,导入课程主题,激发学生兴趣。
第二课时:知识点讲解,深入剖析课程核心内容,解答学生疑问。
第三课时:实践应用,通过案例分析,巩固所学知识,提高学生实际操作能力。
教材章节及内容列举:第一章:基本概念与原理1. 图片中的概念解析2. 图片中的原理应用第二章:案例分析与应用1. 图片案例解析2. 课程知识在实际案例中的应用教学内容确保科学性和系统性,以帮助学生扎实掌握课程知识,提高学科素养。
计算机科学与技术软件工程课程设计题目

软件工程设计题目1.超市收银系统以超市收银业务为背景,对“超市收银系统”软件进行分析和设计。
要求:建立商品信息文件,商品信息包括商品编号、商品名、商品类别、商品数量、商品价格等。
建立商场收银系统,功能包括:1,系统登录:运行系统时,收银员应输入姓名(或编号)及密码,验证后方可使用系统。
2,收银操作:收银员逐条输入商品编号及数量,系统自动计算金额,输入完毕后显示应付款,当输入实收额后,计算出找赎值。
交易完成后按一定格式显示回单(格式参照一般超市中的打印小票)。
保存所显示的回单。
如果,买家持有会员卡,则记录本次消费,并且买家将根据卡的类别享受相应优惠。
3,自动按销售情况更新商品信息文件中的数据。
4,另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。
如果一个未持卡顾客一次购物满X元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。
2. 图书馆管理系统目的:方便图书馆对书籍借阅的管理图书馆管理系统某图书馆允许每个学生同时只能借得一本图书且借阅时间不得超出3个月,现所有学生借阅的图书的记录均存于流通文件中,每一记录中包括书号、借书人学号,应还书日期。
书库文件中记录书名、书号、作者、出版社、出版日期、藏书数。
现要求程序用菜单选择并完成下述的功能:现要求实现如下功能:1. 借书功能:要求输入借书人学号及借书日期,如借书人的前面借的书尚未还则打印“You should Return first!”;同时不允许借书,反之则办理借书手续,即:在对应文件中记录借书人学号及借书日期、应还书日期,同时在书库文件中将所借书的藏书数-1。
2. 还书功能:即根据书号及还书日期从流通文件中删去借书人的借书记录,如果书已越期则打印“Time Passed!”;同时对书库文件中将所还的书藏书数+1。
3. 可显示所有借书过期而未还者的信息;4. 查找学号的功能要求采用折半查找的方法实现,并打印查询结果。
5. 退出程序网络图片管理系统基于网络的图片管理系统,用户可以通过该系统上传,分享,浏览,评论,美化自己活着好友的图片。
《多媒体设计与制作课程设计》说明书

《多媒体设计与制作课程设计》一、课程目的和要求《多媒体设计与制作课程设计》针对计算机各专业岗位技能要求,进行多媒体各方面的设计与制作项目工作,培养学生计算机操作的能力和计算机设计的基本技能,使学生具备分析问题、用编程思维解决问题的能力,达到计算机初级设计员的水平,使学生养成既善于独立思考,又乐于与人沟通、具备团队合作意识的职业素质,为立足社会打下坚实的基础。
课程设计总的目的在于加深对多媒体设计与制作的基本知识的理解,多媒体设计与制作技能综合运用和提高,通过真实工作任务,使学生能设计出有一定水平的多媒体作品并解决培养解决实际问题的能力,掌握实际多媒体设计与制作开发流程和开发方法。
具体的课程设计应达到以下目的:1.提高学生在实际操作中收集信息,对信息进行价值判断,及信息整理、加工的能力。
2.在实际的项目任务中培养多媒体设计方面的素养。
3.在实际的项目任务中使学生多媒体开发和制作的能力得到提高。
4.培养学生团队协作和人际交往方面的能力。
5. 培养相关知识和技能的综合应用能力。
《多媒体设计与制作》的课程设计应从专业多媒体建设的实际出发。
具体要求如下:1. 课程设计的选题可以是教师的项目,也可以是自选项目。
2. 从锻炼和巩固的角度出发,原则上每人独立完成项目,对于大型项目也可多人合作。
3. 学生是课程设计环节的主体,教师只起辅助引导、协调作用。
4. 自选主题,主题内容要合法、健康、实用。
5. 多媒体作品要有版权说明。
6. 作品主题突出、内容丰富。
7. 作品设计合理、美观,有创意。
不要太花哨或太孩子气。
要有设计过程,不要只是各种元素的随意拼凑。
图片动画选用要适合主题,不要在作品中插入不相干的图片。
适用于各种显示器的分辨率和颜色。
不要太宽,否则显示器分辨率小时会出现水平滚动条。
8. 注意作品的大小,图片保存格式和图片大小要合适。
二、课程简介课程设计是课程教学中的一项重要内容,是完成专业教学计划,达到教学目标的重要环节,课程设计是通过真实工作任务或产品设计等综合性较强的实例而进行的实践环节,它对帮助学生全面掌握课堂教学内容,培养学生实践和实际动手能力,培养团队协作,人际交往等素质的提高具有很重要的意义,《多媒体设计与制作》是一门实用性和实践性都很强的课程,其相应的课程设计部分应占有更重要的地位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号天津城建大学可视化编程课程报告学生姓名班级成绩计算机与信息工程学院目录第1章设计任务与目标 0第2章设计方案 (1)2.1管理器结构设计 (1)第3章设计实现 (2)3.1程序主窗体设计 (2)3.1.1主窗体代码 (2)3.2程序目录设计 (12)3.2.1目录代码 (12)3.3导入图片窗体设计 (14)3.3.1导入图片窗体代码 (14)3.4所需的类代码 (18)第4章设计结果与分析 (24)4.1设计分析计 (24)4.2设计结构 (24)第5章总结心得 (25)第1章设计任务及目标1.1 设计任务及目标1、设计图片管理器,对图片实现分目录管理,用户可以自行创建并删除存放图片的目录,并且可以方便将各种图片存放于相应的目录中。
2、可以对目录下的图片以缩略图的形式进行浏览,方便用户进行查找图片,并且在浏览过程中删除一张或者多种图片。
3、可以以实际大小或者适合窗体的大小对单张图片浏览并切换到同目录中的上一张或者下一张图片进行浏览。
也可以对同目录中的图片以自动播放形式进行浏览,还可以调整播放时间间隔。
第2章设计方案2.1 管理器结构设计通过对结构的分析,以及考虑到要满足的功能,将管理器分为如下几个模块。
1.主窗体:用来实现对图片的浏览,删除,导入,保存等功能。
2.目录窗体:用来创建图片的管理目录,整理图片。
3.导入图片:用来将图片导入目录中,整理到相应文件夹。
第3章设计实现3.1程序的主窗体1、设计程序的主窗体用来浏览和查看图片并且对图片进行管理。
通过规划,首先设计窗体页面,然后添加相应的控件。
如下:3.1.1主窗体代码编写:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using System.Collections;namespace 图片管理器3{public partial class MainForm : Form{public MainForm(){InitializeComponent();private string path = Application.StartupPath + "\\图片目录";private Pen boundPen = new Pen(Color.Gainsboro);private Pen selPen = new Pen(Color.Blue, 3);private SolidBrush textBrush = new SolidBrush(Color.Black);private SolidBrush bgBrush;private StringFormat format = new StringFormat();private Bitmap bmpInPb;private Point mousePoint = new Point();private Point pbPoint = new Point();private bool canDrag;private bool isDraging;private int bmpIndex;private void MainForm_Load(object sender, EventArgs e){lvView.Dock = DockStyle.Fill;tscbInterval.SelectedIndex = 1;//图像自动播放时间间隔2秒ShowView();//处于浏览图片状态bgBrush = new SolidBrush(lvView.BackColor);statusStrip1.Items[0].Visible = false;//状态栏上的进度为不可见format.Alignment = StringAlignment.Center;try{if (!Directory.Exists(path)){Directory.CreateDirectory(path);}}catch (Exception ex){MessageBox.Show(ex.Message, "错误",MessageBoxButtons.OK, MessageBoxIcon.Error);return;}DirectoryInfo dir = new DirectoryInfo(path);foreach (DirectoryInfo d in dir.GetDirectories()){Folder folder = new Folder(Application.StartupPath, );lstFolder.Items.Add(folder);}}private void tsbtnCreatFolder_Click(object sender, EventArgs e){FrmCreatFolder frmCreatFolder = new FrmCreatFolder(this.lstFolder);{frmCreatFolder.ShowDialog(this);}finally{frmCreatFolder.Dispose();}}private void tsbtnLoad_Click(object sender, EventArgs e){FrmLoadPic frmLoadPic = new FrmLoadPic(this.lstFolder, this.statusStrip1);try{if (frmLoadPic.ShowDialog(this) == DialogResult.OK){LoadToListView();}}finally{frmLoadPic.Dispose();}}private void lvView_DrawItem(object sender, DrawListViewItemEventArgs e) {if (lvView.Items.Count == 0){return;}Graphics g = e.Graphics;Folder folder = (Folder)lstFolder.SelectedItem;Bitmap bmp = folder.GetThumnail(e.Item.Text);Rectangle bmpRect = Folder.GetRectFromBounds(bmp, e.Bounds);bmpRect.Offset(0, 1);Rectangle boundRect = Folder.GetRectFromBounds(101, 101, e.Bounds);Rectangle textRect = new Rectangle(e.Bounds.X + 4,e.Bounds.Y + 109, e.Bounds.Width - 8, 16);g.DrawRectangle(boundPen, boundRect);if ((e.State & ListViewItemStates.Selected) != 0){g.DrawImage(bmp, bmpRect);//画图片的缩略图g.DrawRectangle(selPen, boundRect);//画处于选中状态的边框}else{g.DrawImage(bmp, bmpRect);}g.FillRectangle(bgBrush, textRect);//填充文字背景g.DrawString(e.Item.Text, lvView.Font, textBrush, textRect, format);//绘制文字}private void LoadToListView()//自定义方法{Folder folder = (Folder)lstFolder.SelectedItem;lvView.BeginUpdate();lvView.Items.Clear();if (!folder.IsLoaded){folder.LoadImage();}foreach (DictionaryEntry de in folder.bmps){lvView.Items.Add((string)de.Key);}lvView.EndUpdate();}private void lstFolder_SelectedIndexChanged(object sender, EventArgs e){if (lstFolder.SelectedItems.Count == 0){return;}LoadToListView();}//让浏览图像缩略图所需控件可见private void ShowView()//自定义方法{tsMain.Visible = true;lstFolder.Visible = true;splitter1.Visible = true;lvView.Visible = true;pbPic.Visible = false;tsViewPic.Visible = false;}//让浏览图像所需控件可见private void ShowImage()//自定义方法{tsMain.Visible = false;lstFolder.Visible = false;splitter1.Visible = false;lvView.Visible = false;pbPic.Visible = true;tsViewPic.Visible = true;}private void lvView_DoubleClick(object sender, EventArgs e) {Point p = Control.MousePosition;p = lvView.PointToClient(p);ListViewHitTestInfo info = lvView.HitTest(p);ShowImage();PaintImageInPb(info.Item.Text);bmpIndex = info.Item.Index;}private void PaintImageInPb(string bmpName)//自定义方法{Folder folder = (Folder)lstFolder.SelectedItem;if (bmpInPb != null){bmpInPb.Dispose();}bmpInPb = folder.GetImage(bmpName);statusStrip1.Items[1].Text = "名称:" + bmpName + "尺寸:" + bmpInPb.Width.ToString() + "×" +bmpInPb.Height.ToString();pbPic.Image = bmpInPb;MatchImage();}private void MatchImage()//自定义方法{if (tsbtnNormol.Checked){//正常显示模式pbPic.SizeMode = PictureBoxSizeMode.AutoSize;pbPic.Left = (panel1.Width - pbPic.Width) / 2;pbPic.Top = (panel1.Height - pbPic.Height) / 2;if (pbPic.Width > panel1.Width || pbPic.Height > panel1.Height){canDrag = true;pbPic.Cursor = Cursors.Hand;//改变鼠标指针样式}else{//图像小于显示边框是,则不允许拖动canDrag = false;pbPic.Cursor = Cursors.Default;}}else{//图像使用PictureBox的大小显示模式canDrag = false;//设置禁止拖动图像状态pbPic.Cursor = Cursors.Default;if (bmpInPb.Width > panel1.Width || bmpInPb.Height > panel1.Height){pbPic.Dock = DockStyle.Fill;pbPic.SizeMode = PictureBoxSizeMode.Zoom;}else{//图像小于显示边框时,按原尺寸显示pbPic.Dock = DockStyle.None;pbPic.SizeMode = PictureBoxSizeMode.AutoSize;pbPic.Left = (panel1.Width - pbPic.Width) / 2;pbPic.Top = (panel1.Height - pbPic.Height) / 2;}}}private void tsbtnShowMode_Click(object sender, EventArgs e){ToolStripButton btn = (ToolStripButton)sender;{return ;}tsbtnNormol.Checked =false ;tsbtnMatch.Checked=false ;btn .Checked =true ;MatchImage ();}private void pbPic_MouseDown(object sender, MouseEventArgs e) {if (e.Button !=MouseButtons .Left ){//判断是否鼠标左键return ;}isDraging=true ;mousePoint.X =e.X ;mousePoint.Y=e.Y;pbPoint.X =pbPic.Left ;pbPoint.Y=pbPic.Top;}private void pbPic_MouseMove(object sender, MouseEventArgs e) {if (!isDraging || !canDrag){return;}//左右移动int x = pbPic.Left;if (pbPic.Width > panel1.Width){x += e.X - mousePoint.X;if (x > 0){x = 0;}else if (x + pbPic.Width < panel1.Width){x = panel1.Width - pbPic.Width;}//上下移动int y = pbPic.Top;if (pbPic.Height > panel1.Height ){y += e.Y - mousePoint.Y;if (y > 0){y = 0;}else if (y + pbPic.Height < panel1.Height ){y = panel1.Height - pbPic.Height ;}}pbPic.Left = x;pbPic.Top = y;}private void pbPic_MouseUp(object sender, MouseEventArgs e) {if (e.Button != MouseButtons.Left){return;}isDraging = false;//设置为禁止拖动状态}private void tsbtnReturn_Click(object sender, EventArgs e) {timer1.Stop();//停止计时器pbPic.Image = null;if (bmpInPb != null){bmpInPb.Dispose();//释放图像}ShowView();//调整控件可见性}private void tsbtnPeriod_Click(object sender, EventArgs e) {if (bmpIndex == 0)bmpIndex = lvView.Items.Count - 1;}else{bmpIndex--;}ListViewItem item = lvView.Items[bmpIndex];PaintImageInPb (item .Text);}private void tsbtnNext_Click(object sender, EventArgs e){if (bmpIndex ==lvView.Items .Count -1){bmpIndex = 0;}else{bmpIndex++;}ListViewItem item = lvView.Items[bmpIndex];PaintImageInPb (item .Text);}private void tsbtnAutoPlay_Click(object sender, EventArgs e){timer1.Enabled = !timer1.Enabled;tsbtnAutoPlay.Checked = timer1.Enabled;}private void tscbInterval_SelectedIndexChanged(object sender, EventArgs e) {timer1.Interval = (int)(Math.Pow(2, tscbInterval.SelectedIndex) * 1000); }private void timer1_Tick(object sender, EventArgs e){tsbtnNext_Click(null, null);}private void tsbtnDelFolder_Click(object sender, EventArgs e){if (lstFolder .SelectedItems .Count==0){MessageBox.Show ("请选择一个目录再进行删除!","消息",MessageBoxButtons .OK ,rmation);return ;}DialogResult dr=MessageBox .Show ("删除目录将导致该目录下的图片删除", "并且该操作不可恢复,是否真的要删除“"+lstFolder .Text +"确认",MessageBoxButtons .YesNo ,MessageBoxIcon .Question );string delFolderName="";//用于存放被删除目录的名称if (dr == DialogResult.Yes){lvView.Clear();delFolderName = lstFolder.Text;((Folder)lstFolder.SelectedItem).RemoveAll();lstFolder.Items.Remove(lstFolder.SelectedItem);}statusStrip1.Items[1].Text="目录“"+delFolderName+"”已经被删除!";//在状态栏显示提示}private void tsbtnDel_Click(object sender, EventArgs e){if (lstFolder.SelectedItems.Count == 0 || lvView.Visible == false){return;}Folder folder = (Folder)lstFolder.SelectedItem;try{lvView.BeginUpdate();//禁止ListView的刷新while (lvView.SelectedItems .Count > 0){//删除选中项ListViewItem item = lvView.SelectedItems [0];lvView.Items.Remove(item);folder.Remove(item.Text);}}catch (Exception ex){MessageBoxButtons.OK, MessageBoxIcon.Error);return;}finally{lvView.EndUpdate();}}private void tsBtnClose_Click(object sender, EventArgs e){Close();}}}3.2 程序的目录创建目录窗体,用于创建图片的管理目录。