【CITE】利用鼠标绘图C#

实例018 利用鼠标绘图spa

光盘位置:光盘\MR\01\018code

在经常使用的画图软件中,用户通常均可以经过鼠标在其中绘图,那么该功能是如何实现的呢?本实例将讲解如何使用C#实现经过拖动鼠标在窗体上绘图的功能,实例运行效果如图1.18所示。orm

 
图1.18  利用鼠标绘图

本实例实现时主要用到了Graphics类的DrawLine方法和MouseEventArgs类的X属性、Y属性,下面分别对它们进行详细介绍。xml

Graphics类中的DrawLine方法主要用来绘制直线,该方法为可重载方法,本实例中用到的重载形式以下:对象

  1. public void DrawLine (Pen pen,Point pt1,Point pt2) 

参数说明blog

pen:Pen对象,它肯定线条的颜色、宽度和样式。ci

pt1:Point结构,它表示要链接的第一个点。开发

pt2:Point结构,它表示要链接的第二个点。get

说明:关于MouseEventArgs类的X属性和Y属性的详细讲解,请参见实例005中的关键技术。it

(1)打开Visual Studio 2008开发环境,新建一个Windows窗体应用程序,并将其命名为MouseToDraw。

(2)更改默认窗体Form1的Name属性为Frm_Main。

(3)程序主要代码以下:

private void Form1_MouseMove(object sender, MouseEventArgs e)  
{  
 
  if (lastPoint.Equals(Point.Empty))             
//判断绘图开始点是否为空  
 
  {  
 
      lastPoint = new Point(e.X, e.Y);           
//记录鼠标当前位置  
 
  }  
 
  if (G_OnMouseDown)                            
//开始绘图  
 
  {  
 
      Point cruuPoint = new Point(e.X, e.Y);      
//获取鼠标当前位置  
 
      graphics.DrawLine(pen, cruuPoint, lastPoint); 
//绘图  
 
  }  
 
  lastPoint = new Point(e.X, e.Y);             
//记录鼠标当前位置  
}  
private void Form1_MouseUp(object sender, MouseEventArgs e)  
{  
 
  G_OnMouseDown = false;                        
//开始绘图标识设置为false  
}  
private void Form1_MouseDown(object sender, MouseEventArgs e)  
{  
 
  G_OnMouseDown = true;                             //开始绘图标识设置为true  
} 
相关文章
相关标签/搜索