我有一个winforms应用程序,我每隔一行写一个文件,看看发生了什么。我有一个Click事件,它在控件上设置一个值。我在这台win 10机器上注意到的是After Value Changed事件立即触发,其中的代码中断了Click事件。在我的win 7机器上,它在Click完成后触发。这是我对事件运作方式的理解。有什么变化?在操作系统中是否可以控制它?这是一个infragistics控件,所以我不知道幕后发生了什么。也许他们搞乱我的事件。只是想先排除MS。我们在VS2008和.net 3.5上。没有" DoEvents"在我的形式,不知道还有什么可能导致这一点。感谢。
发布简化代码,以防我不清楚。
Private Sub umvCalendar_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles umvCalendar.MouseDown
Logger.Write("Beginning umvCalendar_MouseDown ############")
umvCalendar.CalendarInfo.ActiveDay = Today
Logger.Write("ENDING umvCalendar_MouseDown")
End Sub
Private Sub uciCalendarInfo_AfterActiveDayChanged(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinSchedule.AfterActiveDayChangedEventArgs) Handles uciCalendarInfo.AfterActiveDayChanged
Logger.Write("uciCalendarInfo_AfterActiveDayChanged")
End Sub
此计算机的日志如下所示。我期待最后两行被交换,就像在其他机器上一样。
18:04:25:214 : Beginning umvCalendar_MouseDown ############
18:04:25:231 : uciCalendarInfo_AfterActiveDayChanged
18:04:25:240 : ENDING umvCalendar_MouseDown
答案 0 :(得分:1)
我仍然不知道问题是什么,但经过更多问题后发现这台机器是戴尔触摸屏笔记本电脑,禁用触摸屏固定它。所以我想硬件或潜水员的问题。与Infragistics结合使用,因为只有Infragistics控件存在问题。