【CITE】利用鼠標繪圖C#


實例018 利用鼠標繪圖

光盤位置:光盤\MR\01\018

在常用的畫圖軟件中,用戶一般都可以通過鼠標在其中繪圖,那么該功能是如何實現的呢?本實例將講解如何使用C#實現通過拖動鼠標在窗體上繪圖的功能,實例運行效果如圖1.18所示。

 
圖1.18  利用鼠標繪圖

本實例實現時主要用到了Graphics類的DrawLine方法和MouseEventArgs類的X屬性、Y屬性,下面分別對它們進行詳細介紹。

Graphics類中的DrawLine方法主要用來繪制直線,該方法為可重載方法,本實例中用到的重載形式如下:

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

參數說明

pen:Pen對象,它確定線條的顏色、寬度和樣式。

pt1:Point結構,它表示要連接的第一個點。

pt2:Point結構,它表示要連接的第二個點。

說明:關於MouseEventArgs類的X屬性和Y屬性的詳細講解,請參見實例005中的關鍵技術。

(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  
} 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM