wpf:捕获鼠标不起作用
我正在开发一种outlook日历应用程序,需要通过鼠标调整约会的大小。 我用拇指的第一次尝试没有正常工作,所以我尝试了另一种方法 我所做的是: 1) 在appointmennt面板的底部,我添加了一个矩形以确定大小调整区域(拇指)。约会面板放置在网格面板上。 2) 我截获矩形上的向下事件并将事件发送到以下代码:wpf:捕获鼠标不起作用,wpf,mouse,capture,Wpf,Mouse,Capture,我正在开发一种outlook日历应用程序,需要通过鼠标调整约会的大小。 我用拇指的第一次尝试没有正常工作,所以我尝试了另一种方法 我所做的是: 1) 在appointmennt面板的底部,我添加了一个矩形以确定大小调整区域(拇指)。约会面板放置在网格面板上。 2) 我截获矩形上的向下事件并将事件发送到以下代码: private Point startPoint; private void OnResizeElementMouseDown(object sender, MouseButtonEve
private Point startPoint;
private void OnResizeElementMouseDown(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
this.MouseMove += new MouseEventHandler(ResizeEndElement_MouseMove);
this.MouseLeftButtonUp += new MouseButtonEventHandler(OnResizeElementMouseUp);
// some code to perform new height computation
Mouse.Capture(this);
}
这里是拥有拇指的约会面板
降低高度效果很好。
但增加收入更为困难。如果我非常非常缓慢地移动鼠标,就可以了,如果我稍微加快一点,它会忽略约会面板,然后所有的MouseMove事件都会丢失
我原以为Mouse.Capture()是为了解决这类问题而提出的,但事实并非如此
有人知道我的代码出了什么问题吗?您应该使用实际的
拇指
控件。查看MSDN以获取帮助:
您应该使用拇指,但要玩鼠标捕获,请覆盖
受保护的override void OnLostMouseCapture(MouseEventArgs e)
方法,然后您就会知道是否丢失了捕获