3
我正在試圖在pictureBox中顯示的圖像上繪製某些東西。我使用鼠標活動的事件處理程序:onMouseUp,onMouseMove和onMouseDown。如何在C#中更快地處理MouseMove事件
private void onMouseDown(object sender, MouseEventArgs e)
{
mouseDown = true;
}
private void onMouseMove(object sender, MouseEventArgs e)
{
if (mouseDown)
{
using (Graphics g = pictureBox.CreateGraphics())
{
g.FillEllipse(Brushes.Black, e.X - size, e.Y - size, size * 2, size * 2);
}
}
}
private void onMouseUp(object sender, MouseEventArgs e)
{
mouseDown = false;
using (Graphics g = pictureBox.CreateGraphics())
{
g.FillEllipse(Brushes.Black, e.X - size, e.Y - size, size * 2, size * 2); //just in case user just clicks instead of move the mouse
}
}
我想模擬畫筆工具,當鼠標移動到pictureBox上時繪製指定大小(半徑)的圓。它在移動速度慢的時候效果很好,但是當運動速度更快時,pictureBox似乎只捕捉一些事件,很多圈子被跳過並且沒有繪製。特別是當半徑很小時。
我該怎麼做才能讓它更快更順暢?
這似乎是工作,運動現在看起來更流利。非常感謝! – SysGen 2013-02-12 12:32:01