日期:2014-05-16  浏览次数:20883 次

求大神解答,winform的绘图问题
如何实现如下功能:
  在一空白模版上画图后如图
  能是该区域被点击后能触发某时间,并能使该区域着色。
  求相关的思路,有原码更好
------解决方案--------------------
http://www.cnblogs.com/tcpch/archive/2005/09/24/104430.html
------解决方案--------------------
在需要事件的区域放置透明的Panel,或者自己自定义控件,然后像平时那样编写事件。
也可以用委托事件,根据在空白模板或窗体上的鼠标点击事件中判断鼠标点击时的坐标(区域所在范围)然后决定该触发哪个事件。
------解决方案--------------------
绘图的时候,每个区域都是一个控件。直接用那个控件的事件!也可以用Panel的事件,根据鼠标点击的位置,判断鼠标位于Panel的那个区域!
------解决方案--------------------
对控件的鼠标事件进行预处理.判断用户操作提哪个区
------解决方案--------------------
我正好做过类似的用户控件:

这种控件的难点在于,里边的区域需要做成子控件,但是难就难在如何在点击子控件,触发父控件。

需要1、自定义委托、2、反射追加event ,需要应用DynamicInvoke方法

------解决方案--------------------
<<C#入门经典>> GDI+章节有Region这方面的介绍。够用了。