• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

c#绘直线并清除

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
代码
编写一个程序,接收用户输入的2组数据,每组数据有两个数据,分别是一个点的x坐标和y坐标,在窗口中画出以这两点为起点终点的直线,然后计算两个点之间的距离,输出在屏幕中

主要代码段分析

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;


namespace drawline

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}


private void button1_Click(object sender, EventArgs e)

{

try

{

string j;

int aa, bb, cc, dd;

j
= a.Text;

aa
= Convert.ToInt32(j);

j
= b.Text;

bb
= Convert.ToInt32(j);

j
= c.Text;

cc
= Convert.ToInt32(j);

j
= d.Text;

dd
= Convert.ToInt32(j);


Point[] pointArray
= { new Point(aa, bb), new Point(cc, dd) };//定义直线起点和终点

Graphics g
= this.CreateGraphics();

Pen redpen
= new Pen(Color.Red,5);//新建画笔 宽度为5

g.DrawLines(redpen, pointArray);
//画直线



double length = Math.Sqrt((cc - aa) * (cc - aa) + (dd - aa) * (dd - aa));

//计算直线长度

textBox1.Text
=Convert.ToString ( length);//将直线长度显示在文本框textbox1里


MessageBox.Show(
"你所画的直线长度是:" + length);//显示直线长度的消息框



}


catch(System .Exception x)

{

MessageBox .Show (
"请输入数值!\n");//提示输入的消息框

}



}


private void button2_Click(object sender, EventArgs e)

{

a.Text
= "";//清空各文本框

b.Text
= "";

c.Text
= "";

d.Text
= "";

textBox1.Text
= "";

Graphics g
= this.CreateGraphics();

g.Clear (Color.White );
//清除整个背景面,并以指定颜色(白色)填充


}


}

}


四、运行结果及分析

1.运行结果



2.结果分析和说明


① 程序初始化界面如图一所示.

② 若没有输入数值直接按确定则提示:请输入数值.如图二所示.

③ 输入直线起点终点坐标后,画出直线,并计算出直线长度,分别显示在textbox和messagebox中,如图三所示.

④ 按清楚输入后.屏幕初始化如图一所示.

五、实验小结

1.使用Convert.ToInt32方法之前,被转换的数要先赋初值,否则会提示出错

2.刚开始,画新的直线的时候没有清除旧的直线,最后多条直线在一个背景面中显示.后来使用Clear方法 清除整个背景面,并以指定颜色填充,即每次点清除输入后,不仅清除文本框内容,还对背景面进行清除.


六、 参考文献和相关资料

C#程序设计大学教程

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
KeyAttributeKeyc#特性发布时间:2022-07-13
下一篇:
[C#]动态创建对象发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap