我正在使用我不太熟悉的 C# WinForms 应用程序。该控件旨在可拖动,如果用户在控件的某些部分开始拖动,但在其他部分不开始拖动,则该控件实际上是可拖动的。
该控件包含几个子控件,我相信其中一些子控件在父控件看到它们之前捕获了鼠标点击,因此在某些区域出现故障。我已经在调试器中确认只有当用户单击特定子控件时才会调用父级的鼠标按下处理程序。
鉴于我知道点击在到达我的处理程序之前被捕获/抑制,调试器(或其他方式)中有没有办法确定点击的去向?盯着代码一直没有成功,因为我不知道从哪里开始。
与 Visual Studio 捆绑在一起的是一个名为Spy++的漂亮小程序。它允许您记录发送到窗口的所有消息,并向您显示窗口中 Win32 控件的“真实”结构(许多控件实际上不是控件,而只是自定义绘制的屏幕区域)。通过一些检查,您应该能够通过消息日志找到罪魁祸首。