毕业设计管理系统

合集下载

大学生毕业设计管理系统

大学生毕业设计管理系统

大学生毕业设计管理系统摘要:大学生毕业设计管理系统是一种用于支持大学生进行毕业设计的软件系统,它能够提供全面的管理和协作功能,帮助学生、导师和管理人员更好地完成毕业设计的整个过程。

本文将介绍该系统的需求分析、设计和实施过程,以及系统的主要功能和特点。

1. 引言随着高等教育的普及,大学生毕业设计越来越成为高校教育的重要组成部分。

毕业设计是大学生在校期间所做的最后一项重要学术任务,对学生的专业知识和能力的综合考核起着关键作用。

然而,传统的毕业设计管理方式存在很多问题,如信息不对称、管理混乱等,为学生、导师和管理人员带来了很大的困扰。

因此,开发一种高效、便利的大学生毕业设计管理系统对于提高毕业设计质量和效率具有重要意义。

2. 需求分析大学生毕业设计管理系统的需求分析是设计和实施系统的基础。

通过对学生、导师和管理人员的需求调研和分析,可以明确系统的主要功能和特点。

系统的主要功能包括选题管理、进度管理、资料管理和评审管理等。

选题管理功能包括选题发布、选题选择和选题审批等。

进度管理功能包括任务分配、进度跟踪和进度提醒等。

资料管理功能包括资料上传、资料下载和资料分享等。

评审管理功能包括评审安排、评审记录和评审结果等。

此外,系统还应具备用户管理、权限管理和数据统计等辅助功能。

3. 设计与实施大学生毕业设计管理系统的设计与实施过程包括系统的架构设计、数据库设计、界面设计和功能实现等。

系统的架构设计是整个系统设计的关键,它决定了系统的性能和可扩展性。

数据库设计是存储和管理数据的重要环节,通过合理的数据库设计可以提高系统的数据管理效率。

界面设计是用户与系统交互的纽带,一个友好而美观的界面能够提升用户体验。

功能实现是根据需求分析和设计来实现系统的主要功能,需要合理的算法和编程技术。

4. 系统的主要功能和特点大学生毕业设计管理系统具有以下主要功能和特点:4.1 选题管理学生可以通过系统查看并选择感兴趣的毕业设计选题,同时导师可以发布和审批选题,管理人员可以对选题进行统计和分析。

管理系统设计与实现毕业论文

管理系统设计与实现毕业论文

管理系统设计与实现毕业论文一、综述在当今信息化的时代,管理系统已经渗透到我们生活的方方面面,无论是企业的运营管理,还是个人的日常生活,都离不开各式各样的管理系统。

本次毕业论文聚焦于管理系统设计与实现的研究,目的就是为了让我们的生活更加便捷,企业运营更加高效。

说起管理系统,它其实就像一个“大家庭的管家”,帮助我们整理信息,提高效率。

比如在一个公司里,有了管理系统,员工们就能更好地协作,不再出现信息断层;在个人生活中,使用管理系统可以帮助我们更好地管理日程、任务等。

而本次论文的目的就是要深入探讨如何设计并实现这样的管理系统。

本次论文的研究背景是随着科技的发展,人们对管理系统的需求越来越高。

无论是在功能、性能还是用户体验上,人们都有更高的期待。

因此设计并实现一个高效、便捷的管理系统显得尤为重要。

而我们的目标就是实现这样一个系统,让人们的生活和工作更加轻松。

1. 研究背景和意义在当今信息化社会,管理系统的设计与实现已经成为企业和组织不可或缺的一部分。

随着科技的快速发展,我们的生活和工作都离不开各种管理系统。

这些系统不仅帮助我们更有效地处理信息,还提高了我们的工作效率。

不论是企业的日常运营、学校的教务管理,还是政府部门的行政工作,一个高效的管理系统都是成功的关键。

说到管理系统的重要性,我们可以从日常生活中的小事说起。

比如当我们购物时,商场的库存管理系统可以确保我们需要的商品有货;当我们使用在线服务时,后台的管理系统确保我们的个人信息安全;当我们工作学习时,项目管理系统的使用可以帮助我们更好地分配任务和跟踪进度。

可以说管理系统的背后承载着我们的生活和工作运转的每一个环节。

然而随着需求的不断增加和技术的不断进步,现有的管理系统面临着许多挑战。

如何设计并实现一个更加高效、灵活、安全的管理系统成为当前亟待解决的问题。

这不仅是一个技术挑战,更是一个对社会发展的重大责任和挑战。

因此本文旨在探讨管理系统的设计原理、实现方法以及实际应用,以期为相关领域的发展提供有价值的参考和启示。

知网毕业设计管理系统

知网毕业设计管理系统

知网毕业设计管理系统知网毕业设计管理系统随着科技的发展和信息化的进步,毕业设计管理系统逐渐成为大学生完成学业的重要工具。

而知网作为国内最大的学术资源数据库,也推出了针对毕业设计的管理系统,为学生提供了更便捷高效的服务。

一、系统概述知网毕业设计管理系统是由知网公司开发的一款专为大学生毕业设计而设计的系统。

该系统通过整合知网的学术资源和学术论文数据库,为学生提供了方便的查找、阅读和引用学术文献的功能。

同时,系统还提供了毕业设计选题、指导教师分配、进度管理等功能,帮助学生更好地完成毕业设计任务。

二、系统特点1. 学术资源丰富:知网拥有庞大的学术资源数据库,包括学术期刊、学位论文、会议论文等,学生可以通过系统直接搜索相关文献,提高查找效率。

2. 智能推荐功能:系统通过学生填写的个人信息和选题方向,智能推荐相关的学术文献和研究成果,帮助学生更好地了解前沿研究动态。

3. 毕业设计选题:学生可以在系统中提交自己的毕业设计选题,包括选题背景、研究目的、研究方法等,指导教师可以通过系统审核和选择合适的选题。

4. 指导教师分配:系统根据学生的选题和研究方向,智能匹配合适的指导教师,提供师生沟通和指导的平台。

5. 进度管理:学生可以在系统中设置毕业设计的进度计划和里程碑节点,系统会提醒学生完成相应的任务,帮助学生合理安排时间和进度。

三、系统优势1. 提高效率:通过系统提供的学术资源和智能推荐功能,学生可以更快速地找到相关文献和研究成果,节省大量的查找时间。

2. 便捷交流:系统提供了学生和指导教师之间的在线交流平台,学生可以随时向指导教师咨询问题,获得及时的指导和建议。

3. 规范管理:系统提供了毕业设计选题和进度管理的功能,帮助学生和教师更好地管理和监督毕业设计的进展,确保任务按时完成。

4. 知识积累:通过系统的阅读和引用功能,学生可以积累大量的学术知识和研究成果,提高自己的学术水平和研究能力。

四、系统应用知网毕业设计管理系统已经在国内多所高校得到应用和推广。

毕业设计(论文)管理系统

毕业设计(论文)管理系统

毕业设计(论文)管理系统毕业设计(论文)管理系统随着高等教育的普及和发展,毕业设计(论文)已成为大学生们完成学业的重要一环。

然而,传统的毕业设计(论文)管理方式却面临着许多问题,如信息不透明、流程繁琐、沟通困难等。

为了解决这些问题,许多高校开始引入毕业设计(论文)管理系统,以提高管理效率和学生体验。

一、系统架构与功能毕业设计(论文)管理系统的基本架构由学生端、教师端和管理员端构成。

学生端主要用于学生提交论文、查看进度和获取指导意见;教师端则负责审查论文、提供指导和评分;管理员端则负责整个系统的运营和维护。

在功能方面,毕业设计(论文)管理系统提供了以下主要功能:1. 论文提交与查看:学生可以通过系统上传自己的论文,并随时查看提交状态和审核进度。

2. 教师指导与评审:教师可以在系统中查看学生提交的论文,并提供针对性的指导意见。

同时,教师还可以进行论文评审,对学生的毕业设计(论文)进行评分。

3. 进度管理与提醒:系统会自动记录学生的毕业设计(论文)进度,并及时提醒学生完成各个阶段的任务。

4. 论文查重与反抄袭:系统可以集成查重软件,对学生提交的论文进行查重,并提供反抄袭报告。

5. 数据统计与分析:管理员可以通过系统对毕业设计(论文)的整体情况进行统计和分析,以便更好地了解和管理。

二、优势与挑战引入毕业设计(论文)管理系统带来了许多优势。

首先,系统化的管理流程使得整个毕业设计(论文)过程更加透明和规范,减少了信息不对称和流程混乱的问题。

其次,系统提供了便捷的沟通渠道,学生和教师可以通过系统随时交流和反馈,解决问题更加高效。

此外,系统还可以提供数据支持,为学校和教师提供更好的管理和决策依据。

然而,毕业设计(论文)管理系统也面临一些挑战。

首先,系统的开发和维护需要一定的技术和人力资源投入。

其次,学生和教师对新系统的接受程度可能存在差异,需要进行培训和推广。

此外,系统的安全性和隐私保护也是需要重视的问题,确保学生的论文和个人信息不会被泄露。

毕业设计管理系统的设计与开发

毕业设计管理系统的设计与开发

毕业设计管理系统的设计与开发毕业设计这事儿,对每个大学生来说,那可真是一道难关!就好比唐僧师徒去西天取经,得经历九九八十一难。

而毕业设计管理系统,就是那能帮咱们降妖除魔的金箍棒。

咱先来说说这系统为啥重要。

你想想,毕业设计那么多环节,从选题到开题,从写论文到答辩,就像一场大战,得有个好军师来统筹规划,这系统不就充当了这个角色嘛!要是没有它,同学们就像没头的苍蝇,老师也得忙得晕头转向。

那这系统得有啥功能呢?首先得有个强大的选题库,就像一个装满宝贝的宝库,同学们可以在里面找到自己感兴趣的题目。

这选题库得不断更新,得跟上时代的步伐,不能老是那些老掉牙的题目,不然同学们能有兴趣?然后呢,得有个方便的交流平台。

同学们和老师之间得能随时沟通,有问题能及时解决。

这就好比两个人打电话,得能打得通,还得能把话说清楚。

要是沟通不畅,那毕业设计还不得搞砸?还有啊,系统得能对毕业设计的进度进行监控。

这就像是给同学们上了个闹钟,提醒大家什么时候该做什么,不能拖延。

要是没有这个监控,有的同学可能到最后才发现时间不够了,那可就惨啦!说到开发这系统,可不是一件容易的事儿。

得有专业的技术人员,就像盖房子得有好工匠一样。

他们得懂编程,懂数据库,还得懂用户需求。

不然开发出来的系统不好用,那不就白忙活了?而且,在开发过程中,还得不断测试。

这就好比新做出来的衣服,得试试合不合身。

发现问题就得及时修改,不能等到上线了才发现一堆毛病。

开发人员还得有耐心,不能遇到点困难就打退堂鼓。

这就像爬山,不能因为半山腰累了就放弃,得坚持爬到山顶,才能看到美丽的风景。

总之,毕业设计管理系统的设计与开发,那可是关系到同学们能否顺利毕业的大事。

咱们得重视起来,把这个系统做得又好用又贴心,让同学们的毕业设计之路走得顺顺当当,开开心心地毕业,走向美好的未来!你们说,是不是这个理儿?。

企业管理系统毕业设计

企业管理系统毕业设计

企业管理系统毕业设计
企业管理系统是一种用于帮助企业管理各种业务和数据的软件系统。

它可以帮助企业实现信息化管理,提高管理效率和决策效果。

企业管理系统的功能可以包括以下内容:
1. 员工管理:包括员工档案管理、考勤管理、工资管理等,可以实现员工信息的录入、查询、统计和生成相关报表。

2. 项目管理:包括项目计划、任务分配、进度跟踪等,可以帮助企业管理项目的进展和成果。

3. 客户管理:包括客户信息管理、客户联系管理、客户反馈管理等,可以帮助企业维护客户关系和提供个性化的客户服务。

4. 销售管理:包括销售订单管理、销售机会管理、销售业绩管理等,可以帮助企业管理销售流程和提高销售效果。

5. 采购管理:包括采购订单管理、供应商管理、采购成本控制等,可以帮助企业实现采购流程的自动化和成本管理的精细化。

6. 仓库管理:包括库存管理、出入库管理、物料管理等,可以帮助企业实现仓库管理的自动化和库存控制的精确化。

7. 财务管理:包括财务报表管理、资金管理、财务分析等,可以帮助企业实现财务数据的准确记录和财务决策的支持。

8. 报表统计:包括各种业务数据的统计和分析,可以帮助企业了解业务情况并做出合适的决策。

在毕业设计中,可以设计一个简单的企业管理系统,实现其中几个核心功能的功能实现。

通过该系统的设计和实现,可以全面了解企业管理的流程和要求,提高系统设计和编程能力,并为日后从事企业管理相关工作打下基础。

毕业设计管理系统

毕业设计管理系统

毕业设计管理系统毕业设计管理系统是指为毕业设计的学生提供便捷、高效的管理工具,使他们能够更好地完成毕业设计任务。

本文将从系统的设计、功能和实施效果三个方面进行介绍。

一、系统的设计毕业设计管理系统主要包括学生管理、教师管理、课题管理、文件管理和进度管理五个模块。

首先是学生管理,系统管理员可以添加学生的基本信息,包括学号、姓名、专业等。

教师管理模块可以添加教师信息,包括姓名、工号、专业等。

课题管理模块可以发布课题、指定指导教师,学生可以选择课题进行报名。

文件管理模块可以上传学生的毕业设计相关资料,供教师和学生查看和下载。

进度管理模块可以监督学生的毕业设计进度,学生可以记录任务完成情况和时间节点。

二、系统的功能1. 学生管理:管理员可以添加、修改和删除学生信息。

2. 教师管理:管理员可以添加、修改和删除教师信息。

3. 课题管理:管理员可以发布、修改和删除课题,学生可以选择课题进行报名。

4. 文件管理:学生和教师可以上传和下载毕业设计相关资料。

5. 进度管理:学生可以记录和查看毕业设计任务进度,教师可以监督并评估学生的进展情况。

三、实施效果毕业设计管理系统可以提高毕业设计任务的管理效率。

通过系统的设计和功能设置,学生可以方便地选择课题、监督自己的进度,并与教师进行沟通和交流。

教师可以更好地了解学生的进展情况,及时给予指导和评估。

管理员可以通过系统对学生、教师和课题进行统一管理,减少了人为的繁琐操作。

此外,文件管理模块的设置可以提供资料的共享和传递,避免了传统纸质文档的不便和丢失。

综上所述,毕业设计管理系统是一种便捷、高效的毕业设计管理工具。

通过系统的设计和功能设置,可以提高毕业设计任务的管理效率,方便学生、教师和管理者的沟通和交流,为毕业设计的顺利完成提供了保障。

毕业设计管理系统

毕业设计管理系统

毕业设计管理系统毕业设计管理系统的设计与实现毕业设计管理系统是为了方便高校管理和组织学生毕业设计而开发的一种软件系统。

它能有效提高学生和教职员工的工作效率,减少人力物力的浪费,提供更好的学术交流平台,为毕业设计的顺利完成提供便利。

系统的主要功能包括学生选题、指导教师分配、进度管理、评审流程、查重检测、答辩安排以及成绩管理等。

下面将就其中的若干功能进行详细阐述。

首先,毕业设计管理系统应该具备学生选题的功能。

学生可以在系统中浏览和选择感兴趣的课题,同时可以查看已被选的课题和老师的指导情况。

系统应提供详细的课题介绍和相关参考资料,以方便学生做出正确的选题决策。

其次,系统需要具备指导教师分配的功能。

教师可以在系统中查看已被选中的课题,根据自己的专业领域和研究方向选择合适的学生进行指导。

系统应该能够自动匹配学生和教师,提供最佳的指导组合。

进度管理是毕业设计管理系统中非常重要的一项功能。

学生和教师可以在系统中对毕业设计的进度进行记录和更新,以及上传相关的文献资料、代码等。

系统可以自动提醒学生和教师按时完成各个阶段的任务,确保整个设计过程的顺利进行。

评审流程是毕业设计过程中不可忽视的一环。

系统应该能够方便地进行评审组的组建和评审成绩的录入。

评审组成员可以在系统中查看学生的设计文档和展示文稿,并进行评价和打分。

系统应提供多种评审方式,如线上评审和面对面评审,以适应不同的情况。

查重检测是保障学术诚信的必要环节。

系统应该能够对学生的设计文档进行自动查重,以确保毕业设计的原创性和学生的学术诚信。

系统可以采用目前常用的查重软件,并能够生成查重报告,供学生和教师查看和核对。

答辩安排是毕业设计的最后一个环节。

系统应该能够简化答辩组的组建和答辩时间地安排。

学生可以在系统中查看自己的答辩安排,并进行相应准备。

系统应提供答辩评审表格,以便答辩组成员对学生的答辩情况进行评价和打分。

最后,成绩管理是毕业设计管理系统中不可或缺的功能之一。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录一、系统开发的背景 (1)二、系统分析与设计 (1)(一)系统功能要求 (1)(二)系统模块结构设计 (1)三、系统的设计与实现 (2)(一)学生基本信息浏览:BASIC_B() .................................................... 错误!未定义书签。

(二)……………… ................................................................................ 错误!未定义书签。

四、系统测试 (4)(一)测试MAIN_FORM()函数 ................................................................. 错误!未定义书签。

(二)…………. ....................................................................................... 错误!未定义书签。

五、总结 (10)六、附件(代码、部分图表)10毕业设计管理一、系统开发的背景随着计算机及计算机网络的普及和全国各院校的校园网络的日益完善、健全,各种工作的计算机网络化将逐步取代繁重的传统办公模式。

毕业设计作为大学生四年学习的重要环节,也有必要实行计算机网络化管理,从而减轻设计指导老师的承重负担,简化立题、选题、评分等过程,让繁冗的课题设计信息采用计算机数据库统筹管理。

因此,设计一种毕业设计综合管理系统是我校教学管理发展的一项任务,也是各院校教学发展的趋势。

该系统为学生、教师、管理员提供一个交互的接口,大大方便了学生、老师及管理员的管理人员。

毕业设计是学生在校期间的最后一个教学环节,是学习深化和提高的一个重要过程,也是综合检验所学理论知识的一个重要环节。

本设计从课题的申报、课题的审核、学生选题、调剂、指导、评阅、答辩、归档等环节进行管理,实现了毕业设计的整个流程的管理工作。

系统实现了学生自主选题和教师自主选择学生的网上双向选择,并增加了留言板、文件上传与下载、新闻发布等功能,能够保证毕业设计期间管理员、老师、学生之间信息的联通,对保证毕业设计的质量有非常重要的现实意义。

随着网络化的普及,全国高校的校园网络日益健全,实现无纸化办公成为未来的趋势,并且随着天津城市建设学院的教学体制改革不断加深,本系统的建立为参加毕业设计的教师、学生提供接口。

二、系统分析与设计(一)系统功能要求根据功能分为教师、学生的前台操作和管理员的综合管理。

系统有三个主要的角色组成:学生、教师、管理人员。

1. 教师完成的操作:个人信息的管理;课题的申报、修改、选择学生,设计期间与学生的交流与辅导、实习/指导、评阅和答辩成绩的评定。

2. 学生完成的操作:个人信息的管理,选择课题,查询成绩。

3. 管理人员:对教师、学生的信息查询,添加和删除;系统开放管理;选课期间调。

E-R图:(二)系统模块结构设计通过对系统功能的分析,毕业设计管理系统功能如图2.2所示。

图2.2毕业设计管理系统功能图通过上图的功能分析,把整个系统划分为5个模块:1、文件1)新建:新建窗口;2)打开:打开本地图片;3)保存:保存图形;4)退出:关闭窗体2、编辑1)撤销2)重做3、帮助1)关于4、工具栏:如上图所示。

5、状态栏:显示鼠标位置、显示本地时间、作者三、系统的设计与实现(一)概要设计3.1.1系统数据流程设计概要设计阶段的基本目标是用比较抽象的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。

从数据流图出发设想完成系统功能的若干种合理的物理方案,从中选择一个最佳方案。

然后进行软件结构设计,确定软件由哪些模块组成以及这些模块的动态调用关系。

本设计包括管理员、学生模块功能的设计。

首先管理员登录系统,对系统进行初始化,并可设置系统的开放与关闭。

系统初始化后教师可以出题,教师出题完毕管理员审核课题,审核通过后学生才可进行选题,学生选题完后教师可以选择符合题目要求的学生,形成双向选择。

如当出题选题完毕,教师和学生建立了双向的关系后,进入到做题阶段。

管理员和教师通过文件上传与下载、留言板、新闻发布和联系等方式对学生完成毕设的情况进行监督。

指导教师指导学生完成设计后,进入到评阅阶段。

管理员分配评阅教师后。

系统数据流图如下:图3-1 系统数据流图3.1.2数据字典设计1.管理员信息数据字典表3-1 管理员信息数据字典名字:管理员信息别名:person描述:管理员的相关信息定义:管理员信息=管理员id+管理员name+管理员password 位置:存于数据库,在维护系统时应用2. 教师信息数据字典表3-3 学生信息数据字典(二)详细设计3.2.1系统概述详细设计阶段的关键任务是确定怎样具体地实现用户需要的软件系统,也就是要设计出程序的“蓝图”。

除了应该保证软件的可靠性之外,使将来编写出的程序可读性好、容易理解、容易测试和维护,是详细设计阶段最重要的目标。

设计的模块有出题、选题子系统、系统维护子系统和评阅答辩管理等。

最初时管理员应对系统进行初始化,初始化完后,教师拥有权限进行出题操作,教师出题完毕,管理员应对该课题进行审核,审核通过后学生这时拥有权限进行选课操作,学生选课操作完毕,这时,教师可以从选择他所出课题的学生中选择适合该课题的学生,达到一种双向的自主选择。

操作完毕后,可能存在某些学生没有选上题目,这时可以通过管理员的调剂操作来处理,把没选题的学生调剂到缺少人数的课题或者重新出题来满足要求,是每个学生都有题可做。

这时,指导教师应指导学生完成毕业设计,完成后应由评阅教师进行评阅。

选题阶段首先由学生通过登录自己的界面,可以看到题目的全部信息并且进行选择。

在达到限定时间后,由管理员通过人工干预的方式确定最终的选题结果。

在确定的时间和学生完成选题后,由管理员根据题目和学生的具体情况,通过人工干预的方式,进行处理,确定每一个学生的题目,协调学生和题目之间的关系。

图4-4选题流程图N3.2.2系统流程图四、系统测试(一)管理员功能测试该按钮的使用方法,测试的具体步骤,测试用例的选取,测试的结果。

(如图4.1-4.4)4.1\ 4.24.3图4.4(二)学生模块功能测试测试模块的使用方法,测试该按钮实现的功能,测试的结果。

(如图4.2.1)4.2.14.2.1图4.2..24.2.3五、总结系统完成了可画“三角形、四边形、圆形、直线、弧形”等;可选择画图线条颜色;可画图线条粗细;可按钮清除所画图形;可撤销,重做功能。

系统唯一的缺点就是在鼠标指针点击画笔和橡皮擦工具时指针无法变成画笔和橡皮擦的图标。

在这两周的编程过程中,我的的确确学到了不少的东西,无论是从课外书,还是网上资料,或是同学给我的帮助,都大有收获。

对于我们大一新生来说,学到的东西本来就不算不多,跟别谈运用了,这样的实习给我们的收获远远是书上所不能给的。

只有当真真正正运用的时候,才是查漏补缺的最佳时机,知道自己有哪些不足和知识点的遗漏。

并且知识是需要自己去总结的,一本书上的知识是远远不够的,只有从多本书中总结出对自己有用的信息,才能最大的学习到知识。

在这周的实习课中我还总结出了,学习不单单是学习书本上的知识,更重要的是付诸于实践,实践能让我们学到更多更实用的东西,在实践中我能感受到学到的东西不一定会运用,所以,我希望我们能够把实践与学习相结合,让我们能够全面发展。

六、附件(代码、部分图表)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.Drawing.Imaging;namespace课设picturebox{public partial class Form1 : Form{public Form1(){InitializeComponent();}private bool f = false;private Graphics ig;private int x1, y1, x2, y2, x3, y3, x4, y4;private Pen pen, eraser;private Bitmap bt, sbt;private int type = 0;private Color pencolor = Color.Black;private Color bgcolor = Color.White;private int penwidth =1;private Cursor curearser, curpen;private Stack<Bitmap> history, now;private void Form1_Load(object sender, EventArgs e){Graphics g1 = pictureBox1.CreateGraphics();pen = new Pen(pencolor, penwidth);eraser = new Pen(bgcolor, 30);bt = new Bitmap(pictureBox1.Width, pictureBox1.Height, g1);ig = Graphics.FromImage(bt);pictureBox1.Cursor = curpen;//设置picturebox的光标为铅笔history = new Stack<Bitmap>();now = new Stack<Bitmap>();}private void退出ToolStripMenuItem_Click(object sender, EventArgs e) {Application.Exit();}//打开图片格式的文件private void打开ToolStripMenuItem_Click(object sender, EventArgs e) {OpenFileDialog openPic = new OpenFileDialog();openPic.InitialDirectory = "C:\\users\\public\\pictures";//打开文件的途径 openPic.Filter = "ImageFiles(*.jpg,*.png,*.gif,*.bmp)|*.jpg;*.png;*.gif;*.bmp|All Files(*.*)|*.*";//打开文件的格式openPic.FilterIndex = 2;openPic.RestoreDirectory = true;if (openPic.ShowDialog() == DialogResult.OK){bt = new Bitmap(openPic.FileName);pictureBox1.Image = bt;ig = Graphics.FromImage(bt);}}//新建画板private void新建ToolStripMenuItem_Click(object sender, EventArgs e){pictureBox1.Refresh();Graphics g = pictureBox1.CreateGraphics();g.Clear(bgcolor);ig.Clear(bgcolor);toolStripStatusLabel2.Text = “新建画板”;}//保存文件private void保存ToolStripMenuItem_Click(object sender, EventArgs e){SaveFileDialog svImg = new SaveFileDialog();svImg.InitialDirectory = "C:\\users\\public\\pictures";svImg.Filter = "BMP文件(*.bmp)|*.bmp";svImg.FilterIndex = 2;svImg.RestoreDirectory = true;if (svImg.ShowDialog() == DialogResult.OK){pictureBox1.Image.Save(svImg.FileName);}}private void pictureBox1_MouseMove(object sender, MouseEventArgs e){int x, y, w, h;if (toolStrip1.Enabled == true){toolStripStatusLabel3.Text = string.Format("x:{0},y:{1}", e.X, e.Y);//显示鼠标位置}if (f){switch (type){//初始画笔case 0:x2 = e.X; y2 = e.Y;ig.DrawLine(pen, x1, y1, x2, y2);x1 = x2; y1 = y2;pictureBox1.Image = bt;break;//画三角形case 1:x2 = e.X;y2=e.Y;x3 = x1 * 2 - x2;y3=y2;ig.Clear(bgcolor);ig.DrawImage(sbt, 0, 0);ig.DrawLine(pen, x1, y1, x2, y2);ig.DrawLine(pen, x1, y1, x3, y3);ig.DrawLine(pen, x2, y2, x3, y3);pictureBox1.Image = bt;break;//画矩形case 2:x2 = e.X; y2 = e.Y;ig.Clear(bgcolor);ig.DrawImage(sbt, 0, 0);x = x1 < x2 ? x1 : x2; y = y1 < y2 ? y1 : y2; w = Math.Abs(x1 - x2); h = Math.Abs(y1 - y2); ig.DrawRectangle(pen, x, y, w, h);pictureBox1.Image = bt;break;//画圆case 3:x2 = e.X; y2 = e.Y;ig.Clear(bgcolor);ig.DrawImage(sbt, 0, 0);x = x1 < x2 ? x1 : x2; y = y1 < y2 ? y1 : y2; w = Math.Abs(x1 - x2); h = Math.Abs(y1 - y2); ig.DrawEllipse(pen, x, y, w, h);pictureBox1.Image = bt;break;//画直线case 4:x2 = e.X; y2 = e.Y;ig.Clear(bgcolor);ig.DrawImage(sbt, 0, 0);ig.DrawLine(pen, x1, y1, x2, y2);pictureBox1.Image = bt;break;//画弧线case 5:x2 = e.X; y2 = e.Y;x3 = x1 * 2 - x2;y3=y2;x4 = x3;y4=y3*2-y2;ig.Clear(bgcolor);ig.DrawImage(sbt, 0, 0);ig.DrawBezier(pen, x1, y1, x2, y2, x3, y3, x4, y4); pictureBox1.Image = bt;break;//橡皮case 6 :x2 = e.X; y2 = e.Y;eraser.Color = bgcolor;ig.DrawLine(eraser, x1, y1, x2, y2);x1 = x2; y1 = y2;pictureBox1.Image = bt;break;}}}private void pictureBox1_MouseDown(object sender, MouseEventArgs e) {Bitmap mjl = new Bitmap(bt);history.Push(mjl);f = true;x1 = e.X; y1 = e.Y;//给坐标变量赋值if (type != 0)sbt = new Bitmap(bt);}private void pictureBox1_MouseUp(object sender, MouseEventArgs e) {f = false;//当stack中包含的元素不为0时撤销和重做图标可用if (now.Count != 0){撤销ToolStripMenuItem.Enabled = true;撤销toolStripButton.Enabled = true;}if (history.Count != 0){重做ToolStripMenuItem.Enabled = true;重做toolStripButton.Enabled = true;}}private void toolStripButton1_Click(object sender, EventArgs e) {//实先画三角形功能,并点击三角形图标后背景颜色为绿色type = 1;pictureBox1.Cursor = curpen;toolStripButton1.BackColor = wnGreen;toolStripButton2.BackColor = Color.Transparent;toolStripButton3.BackColor = Color.Transparent;toolStripButton4.BackColor = Color.Transparent;toolStripButton5.BackColor = Color.Transparent;toolStripButton11.BackColor = Color.Transparent;toolStripButton9.BackColor = Color.Transparent;toolStripStatusLabel2.Text = "三角形”;}private void toolStripButton2_Click(object sender, EventArgs e) {//实现画矩形功能,并点击矩形图标后背景颜色为绿色type = 2;pictureBox1.Cursor = curpen;toolStripButton2.BackColor = wnGreen;toolStripButton1.BackColor = Color.Transparent;toolStripButton3.BackColor = Color.Transparent;toolStripButton4.BackColor = Color.Transparent;toolStripButton5.BackColor = Color.Transparent;toolStripButton11.BackColor = Color.Transparent;toolStripButton9.BackColor = Color.Transparent;toolStripStatusLabel2.Text = “矩形”;}private void toolStripButton3_Click(object sender, EventArgs e) {//实现画圆功能,并点击圆图标后背景颜色为绿色type = 3;pictureBox1.Cursor = curpen;toolStripButton3.BackColor = wnGreen;toolStripButton2.BackColor = Color.Transparent;toolStripButton1.BackColor = Color.Transparent;toolStripButton4.BackColor = Color.Transparent;toolStripButton5.BackColor = Color.Transparent;toolStripButton11.BackColor = Color.Transparent;toolStripButton9.BackColor = Color.Transparent;toolStripStatusLabel2.Text = "圆";}private void toolStripButton4_Click(object sender, EventArgs e) {//实现画直线功能,并点击直线图标后背景颜色为绿色type = 4;pictureBox1.Cursor = curpen;toolStripButton4.BackColor = wnGreen;toolStripButton2.BackColor = Color.Transparent;toolStripButton3.BackColor = Color.Transparent;toolStripButton1.BackColor = Color.Transparent;toolStripButton5.BackColor = Color.Transparent;toolStripButton11.BackColor = Color.Transparent;toolStripButton9.BackColor = Color.Transparent;toolStripStatusLabel2.Text = "直线";}private void toolStripButton5_Click(object sender, EventArgs e) {//实现画弧线功能,并点击弧线图标后背景颜色为绿色toolStripButton5.BackColor = wnGreen;toolStripButton2.BackColor = Color.Transparent;toolStripButton3.BackColor = Color.Transparent;toolStripButton4.BackColor = Color.Transparent;toolStripButton1.BackColor = Color.Transparent;toolStripButton11.BackColor = Color.Transparent;toolStripButton9.BackColor = Color.Transparent;toolStripStatusLabel2.Text = "曲线";type = 5;pictureBox1.Cursor = curpen;}private void toolStripButton11_Click(object sender, EventArgs e){//实现铅笔画任意线功能,并点击铅笔图标后背景颜色为绿色type = 0;pictureBox1.Cursor = curpen;toolStripButton11.BackColor = wnGreen;toolStripButton2.BackColor = Color.Transparent;toolStripButton3.BackColor = Color.Transparent;toolStripButton4.BackColor = Color.Transparent;toolStripButton1.BackColor = Color.Transparent;toolStripButton5.BackColor = Color.Transparent;toolStripButton9.BackColor = Color.Transparent;toolStripStatusLabel2.Text = "铅笔";}private void toolStripButton9_Click(object sender, EventArgs e){//实现橡皮功能,并点击橡皮图标后背景颜色为绿色type = 6;pictureBox1.Cursor = curearser;toolStripButton9.BackColor = wnGreen;toolStripButton2.BackColor = Color.Transparent;toolStripButton3.BackColor = Color.Transparent;toolStripButton4.BackColor = Color.Transparent;toolStripButton1.BackColor = Color.Transparent;toolStripButton11.BackColor = Color.Transparent;toolStripButton5.BackColor = Color.Transparent;toolStripStatusLabel2.Text = "橡皮";}//实现撤销功能,上一步private void撤销ToolStripMenuItem_Click(object sender, EventArgs e) {Bitmap mjl = new Bitmap(bt);now.Push(mjl);//将对象移动到stack的顶部bt = history.Pop();//移除并返回位于Stack顶部的对象pictureBox1.Image = bt;ig = Graphics.FromImage(bt);pictureBox1.Refresh();//如果stack中的元素为0,则撤销图标不可用if (history.Count == 0){撤销ToolStripMenuItem.Enabled = false;}}//实现重做功能,下一步private void重做ToolStripMenuItem_Click(object sender, EventArgs e) {Bitmap mjl = new Bitmap(bt);history.Push(mjl);bt = now.Pop();pictureBox1.Image = bt;ig = Graphics.FromImage(bt);pictureBox1.Refresh();if (now.Count == 0){重做ToolStripMenuItem.Enabled = false;}}//撤销快捷按钮private void toolStripButton12_Click(object sender, EventArgs e){Bitmap mjl = new Bitmap(bt);now.Push(mjl);bt = history.Pop();pictureBox1.Image = bt;ig = Graphics.FromImage(bt);pictureBox1.Refresh();if (history.Count == 0){撤销toolStripButton.Enabled= false;}}//重做快捷按钮private void重做toolStripButton_Click(object sender, EventArgs e) {Bitmap mjl = new Bitmap(bt);history.Push(mjl);bt = now.Pop();pictureBox1.Image = bt;ig = Graphics.FromImage(bt);pictureBox1.Refresh();if (now.Count == 0){重做toolStripButton.Enabled= false;}}//用于铅笔颜色选择private void toolStripButton10_Click(object sender, EventArgs e){if (colorDialog1.ShowDialog() == DialogResult.OK){pen.Color = colorDialog1.Color;if (colorDialog1.Color != Color.Black)toolStripButton10.BackColor = colorDialog1.Color;elsetoolStripButton10.BackColor = Color.Silver;}}private void toolStripButton6_Click(object sender, EventArgs e){pen.Color = Color.Red;}private void toolStripButton7_Click(object sender, EventArgs e){pen.Color = Color.Green;}private void toolStripButton8_Click(object sender, EventArgs e){pen.Color = Color.Yellow;}//铅笔粗细选择private void磅ToolStripMenuItem_Click(object sender, EventArgs e) {pen.Width = 1;}private void磅ToolStripMenuItem1_Click(object sender, EventArgs e) {pen.Width= 2;}private void磅ToolStripMenuItem2_Click(object sender, EventArgs e) {pen.Width = 3;}private void磅ToolStripMenuItem3_Click(object sender, EventArgs e) {pen.Width = 4;实用标准}private void磅ToolStripMenuItem4_Click(object sender, EventArgs e) {pen.Width= 5;}private void关于ToolStripMenuItem_Click(object sender, EventArgs e) {MessageBox.Show("作者:高文昇");}//鼠标移出画板时不显示坐标位置private void Form1_MouseMove(object sender, MouseEventArgs e){toolStripStatusLabel3.Text = "x: y: ";}private void menuStrip1_MouseMove(object sender, MouseEventArgs e){toolStripStatusLabel3.Text = "x: y: ";}文档大全。

相关文档
最新文档