当我在Visual Studio中进行调试时UI的行为不同

问题描述:

我在xceed网格中使用了一些拖放功能。当我尝试拖放一行时,它不起作用。但是,如果我在放置方法中放置了一个断点,然后执行放下操作,则当我回到用户界面时它已经更改。不管我是否闯入代码,什么可能会导致它行为不同?当我在Visual Studio中进行调试时UI的行为不同

+0

尝试执行'Thread.Sleep(1000)'并发布结果。另外,请发布有问题的方法。有没有超过一个线程在使用? – GregRos

如果使用调试器断点“暂停”应用程序,则系统状态(例如,鼠标按钮状态)在暂停时可能会更改,因此在允许程序继续运行时会发生变化。这可能会导致与程序正常运行时不同的行为。因此,使用断点调试拖放问题通常是不可能的。

在这些情况下,一个好的方法通常是回到基础并使用Debug.WriteLine(或类似的方法)在变量“正常”运行时转储有关变量状态的有用信息(而不是使用断点来杀死它) 。然后,您可以在程序完成拖动之后随时检查这些倾销信息,以便确定流程中每个阶段发生的情况并找出失败的原因。

+0

很酷。谢谢。我会给那一枪。 –