資源簡介
基于GDI+的圖元繪制拾取 C#實現(xiàn)
程序效果如博客http://blog.csdn.net/small_fish__/article/details/7394304所見

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.Drawing;
using?System.Drawing.Drawing2D;
using?System.Windows.Forms;
namespace?DrawmetaGraph
{
????class?Circle?:?metaTypeGraph
????{
????????private?Graphics?graphics;
????????private?int?radius;
????????//構(gòu)造方法
????????public?Circle(Graphics?graphics?Point?upLeftCoordinate)
????????{
????????????this.fillColor?=?Color.Red;??????//默認(rèn)填充色
????????????this.radius?=?25;
????????????this.graphics?=?graphics;
????????????this.upLeftCoordinate?=?upLeftCoordinate;
????????????
????????}
????????//重寫的鼠標(biāo)點擊事件響應(yīng)
????????public?override?void?MouseDown(MouseEventArgs?e)
????????{
????????????if?(e.Button?==?MouseButtons.Left)
????????????{
????????????????isSelected?=?inSidePolygon(new?Point(e.X?e.Y));
????????????}
????????????else
????????????{
????????????????isSelected?=?false;
????????????}
????????????draw();
????????}
????????//判斷鼠標(biāo)是否選中圖元
????????private?bool?inSidePolygon(Point?p)
????????{
????????????int?dx?=?p.X?-?(upLeftCoordinate.X?+?radius);
????????????int?dy?=?p.Y?-?(upLeftCoordinate.Y?+?radius);
????????????if?((dx*dx?+?dy*dy)?????????????????return?true;
????????????else
????????????????return?false;
????????}
????????//重寫繪畫的方法
????????public?override?void?draw()
????????{
????????????if?(isSelected?==?true)
????????????{
????????????????graphics.FillPie(new?SolidBrush(choosedColor)?upLeftCoordinate.X?upLeftCoordinate.Y?2*radius?2*radius?0?360);
????????????}
????????????else
????????????{
????????????????graphics.FillPie(new?SolidBrush(fillColor)?upLeftCoordinate.X??upLeftCoordinate.Y??2*radius?2*radius?0?360);
????????????}
????????}
????????public?int?Radius
????????{
????????????get?{?return?radius;?}
????????????set?{?radius?=?value;?}
????????}
????????
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????17408??2012-03-06?13:17??Drawme
?????文件??????54784??2012-03-06?13:17??Drawme
?????文件??????11600??2012-03-24?20:54??Drawme
?????文件????????490??2009-08-31?00:40??Drawme
?????文件???????1991??2012-03-06?12:27??Drawme
?????文件???????3885??2012-03-04?19:17??Drawme
?????文件???????4544??2012-03-06?13:17??Drawme
?????文件??????11885??2012-03-06?13:14??Drawme
?????文件???????5817??2012-03-06?13:14??Drawme
?????文件???????2819??2012-03-04?20:47??Drawme
?????文件????????588??2012-03-04?20:49??Drawme
?????文件???????4440??2012-03-04?16:18??Drawme
?????文件???????6238??2012-03-06?13:17??Drawme
?????文件????????787??2012-03-24?20:54??Drawme
?????文件??????17408??2012-03-06?13:17??Drawme
?????文件????????180??2012-03-06?13:14??Drawme
?????文件??????54784??2012-03-06?13:17??Drawme
?????文件????????180??2012-03-04?19:17??Drawme
?????文件????????232??2012-03-06?13:14??Drawme
?????文件????????586??2012-03-06?13:14??Drawme
?????文件???????7897??2012-03-04?16:20??Drawme
?????文件????????494??2012-03-04?09:40??Drawme
?????文件???????1358??2012-03-04?09:40??Drawme
?????文件???????2876??2012-03-04?09:40??Drawme
?????文件???????5612??2012-03-04?09:40??Drawme
?????文件???????1098??2012-03-04?09:40??Drawme
?????文件????????249??2012-03-04?09:40??Drawme
?????文件???????2285??2012-03-06?12:27??Drawme
?????文件???????3778??2012-03-06?12:46??Drawme
?????文件??????17408??2012-03-05?15:32??Drawme
............此處省略15個文件信息
評論
共有 條評論