在下面的例子中,是否可以在控件的
Do Y
完成后执行Do X
(即退出调用我的事件处理程序的方法)?似乎Do X
的操作会干扰Do Y
,因此需要在Do Y
完成后执行Do X
。//at form initialisation
someThirdPartyControl.MouseDoubleClick += MyHandler;
void MyHandler(...)
{
e.Handled = true;
//Do X
}
//The control's code may be something like
class SomeThirdPartyControl:Control
{
void override OnMouseDoubleClick(...)
{
//call event handlers
//Do Y
}
}
Do X
可能会改变控件的大小,导致项目的位置可能会发生变化,当这种情况发生时,控件会错误地选择双击后鼠标指针所在的项目。例如,我双击了项目4
,但是Do X
更改了控件的大小,在完成Do X
之后,项目2
位于鼠标指针下方,控件选择了项目2
。我的要求是保持选定的项目为项目4
。