C#课程设计画图工具.docx

上传人:b****3 文档编号:4907885 上传时间:2022-12-11 格式:DOCX 页数:11 大小:213.84KB
下载 相关 举报
C#课程设计画图工具.docx_第1页
第1页 / 共11页
C#课程设计画图工具.docx_第2页
第2页 / 共11页
C#课程设计画图工具.docx_第3页
第3页 / 共11页
C#课程设计画图工具.docx_第4页
第4页 / 共11页
C#课程设计画图工具.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C#课程设计画图工具.docx

《C#课程设计画图工具.docx》由会员分享,可在线阅读,更多相关《C#课程设计画图工具.docx(11页珍藏版)》请在冰豆网上搜索。

C#课程设计画图工具.docx

C#课程设计画图工具

C#课程设计

班级:

实验项目名称:

画图工具实现

学号:

学生姓名:

一、实验目的

(本次实验所涉及并要求掌握的知识点)

1.通过实验掌握windows程序设计的基础,以及常见windows控件的使用;

2.学习掌握画图工具实现的思想以及编程方法;

二、实验内容与设计思想

(设计思路、主要数据结构、主要代码结构、主要代码段分析、电路图等)

实现记事本的Window运用程序,其功能能够实现画图工具的功能(可参见Window附件中的画图工具基本格式);

三、实验使用环境

(本次实验所使用的平台和相关软件)

Windows操作系统MicrosoftVisualStudio2010编程软件

四、实验步骤和调试过程(实验步骤、测试数据设计、测试结果分析)

画图工具的实现:

设计过程主要通过运用Window工具,

其实现代码如下:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

namespacemydrawingpicture

{

publicpartialclassForm1:

Form

{

Graphicsg;

PointpStart,pEnd;//定义画图的起始终点

intChoiceGrap;//所选择图形枚举

intpenWidth;//画笔宽度

enummySelected

{

Pencil,//铅笔

Line,//直线

Ellipse,//空心椭圆

FillEllipse,//填充椭圆

Rec,//空心矩形

FillRec,//填充矩形

Eraser//橡皮擦

};

publicForm1()

{

InitializeComponent();

g=this.CreateGraphics();

}

privatevoidpictureBox1_Paint(objectsender,PaintEventArgse)

{

}

privatevoidForm1_Load(objectsender,EventArgse)

{

g=this.pictureBox1.CreateGraphics();

ChoiceGrap=(int)mySelected.Pencil;//默认选择画笔工具

penWidth=1;

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

}

privatevoidbtnTool_Click(objectsender,EventArgse)

{

ChoiceGrap=Convert.ToInt32(((Button)sender).Tag);

}

privatevoidbtnLine(objectsender,EventArgse)

{

//把所有按钮的背景颜色都设为Black

button9.BackColor=Color.White;

button10.BackColor=Color.White;

button11.BackColor=Color.White;

button12.BackColor=Color.White;

button13.BackColor=Color.White;

((Button)sender).BackColor=Color.Black;//选中的按钮背景颜色为黑色

penWidth=Convert.ToInt32(((Button)sender).Tag);//选择宽度按钮的Tag值设为画笔宽度

}

privatevoidbtnColor(objectsender,EventArgse)

{

if(((Button)sender).Text=="C")

{

if(colorDialog1.ShowDialog()==DialogResult.OK)

{

button14.BackColor=colorDialog1.Color;

}

}

else{button14.BackColor=((Button)sender).BackColor;}

}

 

privatevoidChange_Point()

{

PointpTemp=newPoint();//定义临起点

if(pStart.X

{

if(pStart.Y>pEnd.Y)

{

pTemp.Y=pStart.Y;

pStart.Y=pEnd.Y;

pEnd.Y=pTemp.Y;

}

}

if(pStart.X>pEnd.X)

{

if(pStart.Y

{

pTemp.X=pStart.X;

pStart.X=pEnd.X;

pEnd.X=pTemp.X;

}

if(pStart.Y>pEnd.Y)

{

pTemp=pStart;

pStart=pEnd;

pEnd=pTemp;

}

}

}

privatevoidpictureBox1_MouseDown(objectsender,MouseEventArgse)

{

if(e.Button==MouseButtons.Left)//如果单击鼠标左键,则将当作前点坐标赋予起始点

{

pStart.X=e.X;

pStart.Y=e.Y;

}

}

privatevoidpictureBox1_MouseMove(objectsender,MouseEventArgse)

{

toolStripStatusLabel1.Text="版权所有:

X*Y"+"X:

"+e.X.ToString()+",Y:

"+e.Y.ToString();

if(e.Button==MouseButtons.Left)

{

switch(ChoiceGrap)

{

case(int)mySelected.Pencil:

//选择的是铅笔

Penpen1=newPen(button14.BackColor,penWidth);

pEnd.X=e.X;

pEnd.Y=e.Y;

g.DrawLine(pen1,pStart,pEnd);

pStart=pEnd;//将已经绘制的终点作为下一次绘制的起点

break;

case(int)mySelected.Eraser:

Penpen2=newPen(Color.White,penWidth);//定义白色画笔作为擦除效果

pEnd.X=e.X;

pEnd.Y=e.Y;

g.DrawLine(pen2,pStart,pEnd);

pStart=pEnd;//将已经绘制的终点作为下一次绘制的起点

break;

default:

break;

}

}

}

privatevoidpictureBox1_MouseUp(objectsender,MouseEventArgse)

{

if(e.Button==MouseButtons.Left)//如果用户按下的是鼠标左键,记录终点坐标

{

pEnd.X=e.X;

pEnd.Y=e.Y;

switch(ChoiceGrap)

{

case(int)mySelected.Line:

//选择的是直线

Penpen1=newPen(button14.BackColor,penWidth);

g.DrawLine(pen1,pStart,pEnd);

break;

case(int)mySelected.Ellipse:

//选择的是空心椭圆

Change_Point();

Penpen2=newPen(button14.BackColor,penWidth);

g.DrawEllipse(pen2,pStart.X,pStart.Y,pEnd.X-pStart.X,pEnd.Y-pStart.Y);

break;

case(int)mySelected.FillEllipse:

//选择的是实心椭圆

Change_Point();

SolidBrushmyBrush=newSolidBrush(button14.BackColor);

Rectanglerec=newRectangle(pStart.X,pStart.Y,pEnd.X-pStart.X,pEnd.Y-pStart.Y);

g.FillEllipse(myBrush,rec);

break;

default:

break;

}

}

}

privatevoidbtnNew_Click(objectsender,EventArgse)

{

pictureBox1.Refresh();//刷新

}

privatevoidbtnExit_Click(objectsender,EventArgse)

{

this.Close();//关闭

}

}

}

 

相关截图如下:

 

五、实验小结(实验中遇到的问题及解决过程、实验中产生的错误及原因分析、实验体会和收获)

1.本实验过后,掌握了Window工具中的MenuStript、GDI的作用以及使用,利

用其成功的完成了记事本的格式设计

2.学习到了文本编辑器的实现方法,能够通过查询资料用代码将其实现;

3.在本次文本编辑器的实现过程中,学习到了一些重要的类以及函数

六、附录

参考文献和相关资料

C#程序设计教程第二版

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1