C#2010 制作简单绘图板

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图9-5设置来自百度文库单控件属性
(4)右击执行【查看代码】命令,打开Form1.cs代码文件。在class Form1中定义reset_click()函数用于新建绘图板,并将【新建】菜单项的鼠标单击触发函数设置为reset_click()函数,代码如下所示。
//新建绘图板
private void reset_click(object sender,EventArgs e)
//鼠标弹起
private void picPaint_MouseUp(object sender, MouseEventArgs e)
{
if(e.Button == System.Windows.Forms.MouseButtons.Left)
{
pstart.X = e.X;
pstart.Y = e.Y;
}
}
(13)定义picPaint_MouseUp()函数用于获取当鼠标弹起时的坐标并赋值给点pend,然后设置paintBoard的鼠标弹起触发函数为picPaint_MouseUp(),代码如下所示。
//选择线宽
private void selLineWidth(object sender,EventArgs e)
{
mWidth = int.Parse(LineWidth.SelectedValue.ToString());
}
(10)定义转换坐标起点和终点的函数Convert_Point()。转换坐标起始点和终点,确保起始点始终在终点的左上方,代码如下所示:
(7)在Form1.cs代码文件中,定义setColor()函数用于选择任意颜色,并设置btnSetColor按钮控件的鼠标单击触发函数为setColor()函数,代码如下所示。
//选择颜色
private void setColor(object sender, EventArgs e)
{
ColorDialog cd = new ColorDialog();
if(cd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
btnSetColor.BackColor = cd.Color;
}
}
(8)在class Form1中定义几个成员变量,主要用于存放用户绘图的起点和终点以及线条的宽度,代码如下所示。
{
ptemp.Y = pstart.Y;
pstart.Y = pend.Y;
pend.Y = ptemp.Y;
}
}else if(pstart.X > pend.X)
{
if (pstart.Y < pend.Y)
{
ptemp.X = pstart.X;
pstart.X = pend.X;
pend.X = ptemp.X;
(2)从【工具箱】面板的【菜单和工具栏】窗口中选择MenuStrip控件,并将该控件拖至Windows窗体内。然后,设置其菜单内容,如图9-4所示。
图9-4添加菜单控件
(3)单击菜单,在【属性】面板中设置其GripStyle属性值为Visible。然后,单击菜单中的菜单项,设置两菜单项的name属性值分别为newBoard和exitBoard,如图9-5所示。
}
else {
ptemp = pstart;
pstart = pend;
pend = ptemp;
}
}
}
(11)返回设计视图,在窗体中添加PictureBox控件,并设置其name为paintBoard、BackColor为白色、BorderStyle为Fixed3D,如图9-7所示。
图9-7添加PictureBox控件
public partial class Form1 : Form
{
Graphics g; //绘图句柄
static Point pstart,pend;//定义画图的起始点,终点
int mWidth;
……
}
(9)定义selLineWidth()函数,用于存储用户所选择的线条宽度,并设置LineWidth控件的鼠标选择触发函数为selLineWidth(),代码如下所示。
{
paintBoard.Refresh();
}
(5)然后,定义exit_click()函数用于退出该绘图板程序,并将【退出】菜单项的鼠标单击触发函数设置为exit_click()函数,代码如下所示。
//退出绘图板
private void exit_click(object sender,EventArgs e)
C#2010
本练习制作的是简单绘图板,用户在该绘图板中可以绘制直线,并设置直线的样式、宽度、颜色等。该程序主要是通过使用.Net Framework4的System.Graphics类和Drawing类来实现的,具体步骤如下所示:
(1)在Visual Studio2010中,创建名为DrawBoard的Windows应用程序,并设置其存储目录。然后,在VS界面中设置Form1的Text属性值为“绘图板”。
{
Application.Exit();
}
(6)回到设计视图中,向Windows窗体中添加若干Button控件、Label控件和ComboBox控件,并在【属性】面板中设置相应的属性,如图9-6所示。
图9-6添加控件
设置第一个下拉框控件的name为LineWidth,第二个下拉框控件的name为LineStyle,Button控件的name属性值为btnSetColor,BackColor为白色,FlatStyle为Popup。
(12)定义picPaint_MouseDown()函数用于获取当鼠标落下时的坐标并赋值给点pstart,然后设置paintBoard的鼠标按下触发函数为picPaint_MouseDown(),代码如下所示。
//鼠标按下
private void picPaint_MouseDown(object sender,MouseEventArgs e)
//转换坐标起点和终点
//确保起始点坐标位于左上角
//结束点坐标位于右下角
private static void Convert_Point()
{
Point ptemp = new Point();//用于交换的临时点
if (pstart.X < pend.X)
{
if(pstart.Y > pend.Y)
相关文档
最新文档