鼠標重要性不必多說,我們這些"小毛孩"可能不敢想象沒有鼠標時的計算機是如何操作的,我承認鼠標不是不可替代,但也已不可或缺.
大多鼠標編程都與API函數有著某種關系,畢竟鼠標的操作已進入了非純軟件領域.因此,要對鼠標下刀,就得熟悉相關的API函數,這點無可厚非.
今天我們就對鼠標編程進行一個大雜匯.工作中能否用到,不太清楚.....
下面就分四個部分講述我們與鼠標的不解之緣.
一.應用篇:
1.利用鼠標繪圖
很多很多書籍,很多很多網頁都在講述這個東東,為了不找罵,這裡直接附代碼!
實現:利用窗體的MouseDown,MouseMove,MouseUp事件及Pen,Graphics等類實現.
代碼:
鼠標繪圖
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace ziyiMouse1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
pen = new Pen(Color.FromName("black"));//始末畫筆
graphics = CreateGraphics();//初始畫板
}
public bool G_OnMouseDown = false;//控制畫圖
public Point lastPoint = Point.Empty;
public Pen pen;
public Graphics graphics;
//將上一個點的LastPoint的值設為目前點的currPoint值.
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);
}
//當鼠標離開時把控制畫圖設為false;
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
G_OnMouseDown = false;
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
G_OnMouseDown = true;
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
效果: