我在xceed网格中使用了一些拖放功能。当我尝试向下拖动项目时,它不起作用。但是如果我在我的drop方法中设置一个断点然后执行drop,那么当我回到UI时它会发生变化。无论我是否闯入代码,可能会导致它的行为不同?
答案 0 :(得分:3)
如果使用调试器断点“暂停”应用程序,系统状态(例如鼠标按钮状态)可能会在暂停时发生变化,因此在允许程序继续运行时会有所不同。与程序正常运行时相比,这可能会导致非常不同的行为。因此,使用断点调试拖放问题通常是不可能的。
在这些情况下,一个好的方法通常是回归基础并使用Debug.WriteLine
(或类似的)来转储有关变量状态的有用信息,因为它“正常”运行(而不是使用一个断点)。然后,您可以在程序完成拖动后在闲暇时检查这些转储信息,以便计算出流程中每个阶段发生的情况并找出失败的原因。