1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<code>using</code> <code>System;</code>
<code>using</code> <code>System.Collections.Generic;</code>
<code>using</code> <code>System.ComponentModel;</code>
<code>using</code> <code>System.Drawing;</code>
<code>using</code> <code>System.Data;</code>
<code>using</code> <code>System.Linq;</code>
<code>using</code> <code>System.Text;</code>
<code>using</code> <code>System.Threading.Tasks;</code>
<code>using</code> <code>System.Windows.Forms;</code>
<code>namespace</code> <code>DrawTest</code>
<code>{</code>
<code> </code><code>public</code> <code>delegate</code> <code>void</code> <code>DrawMeHandler(Graphics g);</code>
<code> </code><code>public</code> <code>delegate</code> <code>void</code> <code>MouseMoveHandler(Point p);</code>
<code> </code><code>public</code> <code>partial</code> <code>class</code> <code>Canvas : UserControl</code>
<code> </code><code>{</code>
<code> </code><code>RectangleFigure rectangleFigure = </code><code>new</code> <code>RectangleFigure();</code>
<code> </code><code>DrawMeHandler drawMeHandler;</code>
<code> </code><code>MouseMoveHandler mouseMoveHandler;</code>
<code> </code><code>public</code> <code>Canvas()</code>
<code> </code><code>{</code>
<code> </code><code>InitializeComponent();</code>
<code> </code><code>this</code><code>.DoubleBuffered = </code><code>true</code><code>;</code>
<code> </code><code>this</code><code>.Paint += Canvas_Paint;</code>
<code> </code><code>this</code><code>.Load += Canvas_Load;</code>
<code> </code><code>this</code><code>.MouseMove += Canvas_MouseMove;</code>
<code> </code><code>}</code>
<code> </code><code>void</code> <code>Canvas_MouseMove(</code><code>object</code> <code>sender, MouseEventArgs e)</code>
<code> </code><code>this</code><code>.mouseMoveHandler.Invoke(e.Location);</code>
<code> </code><code>this</code><code>.Refresh();</code>
<code> </code><code>void</code> <code>Canvas_Load(</code><code>object</code> <code>sender, EventArgs e)</code>
<code> </code><code>rectangleFigure.X = 10;</code>
<code> </code><code>rectangleFigure.Y = 10;</code>
<code> </code><code>rectangleFigure.Width = 100;</code>
<code> </code><code>rectangleFigure.Height = 50;</code>
<code> </code><code>drawMeHandler = </code><code>new</code> <code>DrawMeHandler(rectangleFigure.DrawMe);</code>
<code> </code><code>mouseMoveHandler = </code><code>new</code> <code>MouseMoveHandler(rectangleFigure.MouseMove);</code>
<code> </code>
<code> </code><code>void</code> <code>Canvas_Paint(</code><code>object</code> <code>sender, PaintEventArgs e)</code>
<code> </code><code>if</code> <code>(drawMeHandler != </code><code>null</code><code>) drawMeHandler.Invoke(e.Graphics);</code>
<code> </code><code>/// <summary></code>
<code> </code><code>/// 矩形对象</code>
<code> </code><code>/// </summary></code>
<code> </code><code>public</code> <code>class</code> <code>RectangleFigure</code>
<code> </code><code>public</code> <code>int</code> <code>X { </code><code>get</code><code>; </code><code>set</code><code>; }</code>
<code> </code><code>public</code> <code>int</code> <code>Y { </code><code>get</code><code>; </code><code>set</code><code>; }</code>
<code> </code><code>public</code> <code>int</code> <code>Height { </code><code>get</code><code>; </code><code>set</code><code>; }</code>
<code> </code><code>public</code> <code>int</code> <code>Width { </code><code>get</code><code>; </code><code>set</code><code>; }</code>
<code> </code><code>public</code> <code>bool</code> <code>Actived { </code><code>get</code><code>; </code><code>set</code><code>; }</code>
<code> </code><code>public</code> <code>bool</code> <code>IsExist(Point p)</code>
<code> </code><code>{</code>
<code> </code><code>Rectangle rectangle = </code><code>new</code> <code>Rectangle(</code><code>this</code><code>.X, </code><code>this</code><code>.Y, </code><code>this</code><code>.Width, </code><code>this</code><code>.Height);</code>
<code> </code><code>return</code> <code>rectangle.Contains(p);</code>
<code> </code><code>}</code>
<code> </code><code>public</code> <code>void</code> <code>MouseMove(Point p)</code>
<code> </code><code>Actived = IsExist(p);</code>
<code> </code><code>public</code> <code>void</code> <code>DrawMe(Graphics g)</code>
<code> </code><code>Pen p = </code><code>new</code> <code>Pen(Color.Black);</code>
<code> </code><code>g.FillRectangle(p.Brush, </code><code>this</code><code>.X, </code><code>this</code><code>.Y, </code><code>this</code><code>.Width, </code><code>this</code><code>.Height);</code>
<code> </code><code>if</code> <code>(Actived)</code>
<code> </code><code>{</code>
<code> </code><code>p.Color = Color.Red;</code>
<code> </code><code>g.DrawRectangle(p, </code><code>this</code><code>.X, </code><code>this</code><code>.Y, </code><code>this</code><code>.Width, </code><code>this</code><code>.Height);</code>
<code> </code><code>}</code>
<code> </code><code>}</code>
<code>}</code>
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5810773.html,如需转载请自行联系原作者