天天看点

[转]鼠标移到图像上显示激活的例子

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>/// &lt;summary&gt;</code>

<code>        </code><code>/// 矩形对象</code>

<code>        </code><code>/// &lt;/summary&gt;</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,如需转载请自行联系原作者

继续阅读