C#课程设计画图工具Word格式文档下载.docx
《C#课程设计画图工具Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C#课程设计画图工具Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
(本次实验所使用的平台和相关软件)
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<
pEnd.X)
if(pStart.Y>
pEnd.Y)
pTemp.Y=pStart.Y;
pStart.Y=pEnd.Y;
pEnd.Y=pTemp.Y;
if(pStart.X>
if(pStart.Y<
pTemp.X=pStart.X;
pStart.X=pEnd.X;
pEnd.X=pTemp.X;
if(pStart.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);
//将已经绘制的终点作为下一次绘制的起点
break;
case(int)mySelected.Eraser:
Penpen2=newPen(Color.White,penWidth);
//定义白色画笔作为擦除效果
g.DrawLine(pen2,pStart,pEnd);
default:
privatevoidpictureBox1_MouseUp(objectsender,MouseEventArgse)
if(e.Button==MouseButtons.Left)//如果用户按下的是鼠标左键,记录终点坐标
case(int)mySelected.Line:
//选择的是直线
Penpen1=newPen(button14.BackColor,penWidth);
g.DrawLine(pen1,pStart,pEnd);
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);
case(int)mySelected.FillEllipse:
//选择的是实心椭圆
SolidBrushmyBrush=newSolidBrush(button14.BackColor);
Rectanglerec=newRectangle(pStart.X,pStart.Y,pEnd.X-pStart.X,pEnd.Y-pStart.Y);
g.FillEllipse(myBrush,rec);
privatevoidbtnNew_Click(objectsender,EventArgse)
pictureBox1.Refresh();
//刷新
privatevoidbtnExit_Click(objectsender,EventArgse)
this.Close();
//关闭
}
相关截图如下:
五、实验小结(实验中遇到的问题及解决过程、实验中产生的错误及原因分析、实验体会和收获)
1.本实验过后,掌握了Window工具中的MenuStript、GDI的作用以及使用,利
用其成功的完成了记事本的格式设计
2.学习到了文本编辑器的实现方法,能够通过查询资料用代码将其实现;
3.在本次文本编辑器的实现过程中,学习到了一些重要的类以及函数
六、附录
参考文献和相关资料
C#程序设计教程第二版