C#WM6和鼠标移动事件

时间:2009-08-12 19:27:21

标签: c# windows-mobile-6

我玩WM6的小而且非常好的应用程序。 我注意到在屏幕上使用手写笔(充当鼠标)时没有触发MouseUp和MouseDown。

对我来说没关系,我的意思是我可以没有它。 但是还有其他事情发生,我不能忍受改变。

当使用手写笔在屏幕上绘画并在每个MouseMove事件中读取鼠标坐标时,我得到一些东西(比如X轴),如:2,4,6,8,10,12等(每秒一个) 对于Y轴也是如此。

换句话说,无论我移动手写笔有多慢,我都不会得到2,3,4,5,6等坐标。 使用这个坐标绘制我不会得到漂亮的连续线而是单独的点。

希望我已经让自己清楚了。

PS。我忘记了一件事。 要在屏幕上绘画,我使用附加到此pictureBox的pictureBox和位图。 当在位图上绘画时,除非我刷新pictureBox或执行pictureBox.Image = bitmap;

之类的操作,否则我无法在屏幕上看到evect

如果不刷新整个pictureBox,我该怎么做才能直接看到画点?

[编辑]

List<Point> array = new List<Point>();  // in the header of the class

private void pictureBox_Screen_MouseMove(object sender, MouseEventArgs e) //event handler body
{
     array.Add(new Point(e.X, e.Y));
}

如您所见,这是非常简单的例程。我删除了所有不必要的噪音,使其更清晰。

1 个答案:

答案 0 :(得分:0)

如果您唯一的问题是您需要通过绘制鼠标移动中捕获的每个像素来绘制线条,只需连接点就可以设置。即使在“标准”应用程序中,如果用户快速移动鼠标,您也永远不会获得MouseMove中的每个点,因此您不会使用手写笔获得每个坐标这一事实应该不是问题。