鼠标事件是C#常用的一个事件,在winform中使用次数频繁。很多巅貅晌陔人都不明白Mousedown,Mouseup,MouseMove等是什么含义。根据Msdn的解释MouseEnte鸡堕樱陨r,MouseHover,MouseMove,MouseLeave是一个系列,分别代表鼠标进入,悬停,移动,离开的动作。而MouseDown和Mouseup是一个系列代表鼠标点击的按下和释放。下面借助一个绘图实验来了解下鼠标事件的使用方法。
工具/原料
vs2008
方法/步骤
1、首先新建一个winform窗体,拖动一个picturebox控件,把picturebox控件作为画板。
2、定义全局变量boolCatchStart=false;PointDownPoint=Point.Empty;bitmaporiginBmp;
3、窗体加载时初始化画板intwidth=this.pictur娣定撰钠eBox1.Width;惺绅寨瞀intheight=this.pictureBox1.Height;originBmp=newBitmap(width,height,PixelFormat.Format32bppRgb);
4、我想画一个矩形,根据使用习惯,鼠标左键按下去,开始绘画,左键放开,绘画结束。添加NouseDown事件,如果捕捉没开始,开始捕捉,并记下按下的那个点坐标。这里Mouseup所带的参数MouseEventArgse就是鼠标事件参数,e的属性有点击的那个鼠标和鼠标的位置。
5、绘制是个连续的过程,涉及到鼠标移动,同样添加MouseMove事件,Move事件中,自带的e参数能反馈鼠标移动过程中的位置。添加的代码如下图所示。实时记录鼠标的位置,判断和起始点的相对位置,从而绘制矩形。
6、最后松开左键,矩形绘制完成,添加MouseUp事件,所加代码如图片所示。
7、最后编译运行的结果如下图所示。通过这个绘图实验,大致可以了解Mousedown,Mouseup和MouseMove啦。