任意点击N边形,显示该N边形,并计算出面积
来源:互联网 发布:家装diy设计软件 编辑:程序博客网 时间:2024/06/06 01:21
功能描述:包括两部分:(1)用户连续点击多个点,形成一个多边形;(2)计算此多边形的面积。
http://msdn.microsoft.com/library/system.drawing.graphics_methods.aspx
推荐学习C#的网站:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Drawgoly{ public partial class Frm_Main : Form { List<Point> mylist=new List<Point>(); double Area = 0;//面积 public Frm_Main() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (mylist.Count < 3) textBox1.Text = "Error";//当边数小于3时,输出错误提示 else { Area = mylist[0].Y * (mylist[mylist.Count-1].X - mylist[1].X); for (int i = 1; i < mylist.Count; i++) { Area += mylist[i].Y * (mylist[i - 1].X - mylist[(i + 1) % mylist.Count].X); } Area = Math.Abs(Area)*0.5;//求多边形的面积 Button btn = (Button)sender; string str1 = Area.ToString();//转化为string并保留2位小数 textBox1.Text = str1;//在文本框上显示面积 } } private void Frm_Main_MouseClick(object sender, MouseEventArgs e) { Graphics ghs = this.CreateGraphics();//画布 Pen mypen = new Pen(Color.Red, 3);//画笔 if (e.Button == MouseButtons.Left) { mylist.Add(e.Location) ;//取鼠标的坐标 ghs.FillEllipse(Brushes.Blue, e.Location.X, e.Location.Y, 3,3);//画点 } if (e.Button == MouseButtons.Right) { ghs.DrawPolygon(mypen, mylist.ToArray());//画多边形 } mypen.Dispose();//摧毁画笔以及画布 ghs.Dispose(); } private void button2_Click(object sender, EventArgs e)//重绘按钮 { Graphics gh = this.CreateGraphics(); Pen pen1 = new Pen(Color.White, 3); for (int j = 0; j < mylist.Count; j++) { gh.FillEllipse(Brushes.White, mylist[j].X, mylist[j].Y, 3, 3);//画点 } gh.DrawPolygon(pen1, mylist.ToArray()); textBox1.Text = null; mylist.Clear(); } }}
- 任意点击N边形,显示该N边形,并计算出面积
- N圆面积并
- 多边形(n边形)面积计算公式hdu2036
- n边形面积
- 任意n个数求和
- N阶幻方,任意阶幻方
- ACM 不计算出值求N^N的个位数字
- HDU 5448 Marisa’s Cake(n个点中任意点组成的多边形面积之和)
- 实现并打印小于9的任意整数的n*n乘法表
- 第五周项目三任意输入N显示不同N取值的结果
- 我用C语言实现“ 输入一个整数n,并求该整数n的阶乘”
- 计算n边形面积
- 从键盘输入任意整数N,当N小于或等于0时显示“low”,否则显示“high
- 第五周项目一(3)输入任意整数N,当N小于零时显示“low”,否则显示“hight”
- 点击过n万
- 任意前n个数求和
- *任意n的一道式子
- 点击百度地图上任意一点,显示该点的经纬度的信息窗
- 快速排序、归并排序与选择排序平均时间之比较
- 花指令的原理、常用花指令收集及花指令示例
- 用动态规划法求解生物信息学中DNA序列比对的问题 (交叉学科应用实验)
- The knight\'s tour(马周游问题)
- 数字录音机
- 任意点击N边形,显示该N边形,并计算出面积
- 简单文本编辑器
- Items编辑器
- ListView 文件视图
- 简单使用TabControl控件
- 简单编辑器、菜单栏的简单实现
- MDI编辑器
- 开通微信开发者模式
- 简单的留言板