【发布时间】:2010-01-04 17:48:14
【问题描述】:
我正在开发一种 Outlook 日历应用程序,我需要通过鼠标调整约会的大小。 我第一次用拇指尝试没有正常工作,所以我尝试了另一种方法。
我所做的是:
1) 在约会面板的底部,我添加了一个矩形来确定调整大小区域(拇指)。约会面板放在网格面板上。 2)我拦截矩形上的向下事件并将事件发送到此代码:
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() 是为了解决这类问题而提出的,但实际上并非如此。
有人知道我的代码有什么问题吗?
【问题讨论】: