2
我正在其中每當有人按住鼠標鍵並拖動(酷似Windows畫圖)線將被繪製簡單的繪圖應用程序拖動鼠標。事件處理程序來檢測圖片框(的WinForms,C#)
但是我有一個很難找到這個合適的事件處理程序。當鼠標按下時,MouseDown根本不起作用,MouseClick只記下點。
在這個問題上需要幫助。
謝謝。
我正在其中每當有人按住鼠標鍵並拖動(酷似Windows畫圖)線將被繪製簡單的繪圖應用程序拖動鼠標。事件處理程序來檢測圖片框(的WinForms,C#)
但是我有一個很難找到這個合適的事件處理程序。當鼠標按下時,MouseDown根本不起作用,MouseClick只記下點。
在這個問題上需要幫助。
謝謝。
處理MouseDown
並將布爾變量設置爲true。處理MouseMove
,如果該變量設置爲true並且鼠標的移動高於所需的閾值,則操作。處理MouseUp
並將該變量設置爲false。
例子:
bool _mousePressed;
private void OnMouseDown(object sender, MouseEventArgs e)
{
_mousePressed = true;
}
private void OnMouseMove(object sender, MouseEventArgs e)
{
if (_mousePressed)
{
//Operate
}
}
private void OnMouseUp(object sender, MouseEventArgs e)
{
_mousePressed = false;
}
謝謝你幫我。但爲什麼當我快速拖動它時會留下空間? – themis
鼠標移動不會爲其行進的距離上的每個點觸發,只要可能,就會觸發。嘗試在你的點之間畫一條線。 – timothy