在Windows窗体编程中,我有这个一般问题。当页面加载和填充时,在某些情况下,我不希望事件处理程序中的逻辑运行。Windows窗体:isLoading vs事件断开
事件处理代码主要是为了响应用户交互,但它也在编程操作控件时运行。在过去,我已经看到人们使用IsLoading布尔值来保护逻辑,这些逻辑只会响应用户输入而发生。这让我觉得有点不雅,而且开发人员必须记得把它放在任何地方;当添加新功能时,这是一个特别的问题。
最近,我一直在写方法来加载表单时断开事件处理程序,然后重新连接它们(在finally子句中)。这看起来好一点,但我想知道是否有更优雅的方式。任何人都有另一种方式来处理这种情况?
框架级别的数据绑定是否会在已填充的控件上闪避事件处理程序?例如_TextChanged事件?我们确实为这些表单使用了MVC的形式,但是我的经验是以任何方式填充控件的行为通常会触发事件处理程序。 – Jason 2009-11-19 16:53:02