【发布时间】:2009-11-19 15:17:04
【问题描述】:
在 Windows 窗体编程中,我遇到了这个普遍问题。当页面加载和填充时,在某些情况下我不希望事件处理程序中的逻辑运行。
事件处理代码主要用于响应用户交互,但它也会在以编程方式操作控件时运行。过去,我看到人们使用 IsLoading 布尔值来保护只应在响应用户输入时出现的逻辑。这让我觉得有点不雅,而且开发人员必须记住把它放在任何地方;当添加新功能时,这尤其是一个问题。
最近我一直在编写方法来在加载表单时断开事件处理程序,然后重新连接它们(在 finally 子句中)。这似乎更好一些,但我想知道是否有更优雅的方式。有人有其他方法来处理这种情况吗?
【问题讨论】:
标签: c# .net user-interface winforms