【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  
} 
相關文章
相關標籤/搜索