我刚刚接触Windows编程,就像我以前的工作一样,我主要参与了Web技术,并且主要在后端。我继承了一个Winforms应用程序,并且我最大的噩梦之一是浏览表单可以处于的无限状态。管理表单状态的更好方法是什么?
为了举一个例子,表单具有状态“新建”和“编辑”,具体取决于是否用户决定添加或编辑记录。在这种形式上,我们有逻辑。如果这个texbox有一个特定的值,那么这些其他文本框就被禁用了,等等。这导致了这些规则的无限链接。所以,文本框的TextChanged事件会影响另一个字段。它反过来会触发改变其他控件状态的X事件。它很快就会陷入一个无法维持的纠结混乱。
必须有更好的方法...解决这个问题的简单而优雅的东西。有什么建议么?
这可能被认为更“松散耦合”,但有可能将CPU固定在100%。 – Reinderien 2011-02-15 14:53:56
@Reinderien如果你不在内部执行代价昂贵的循环,你的CPU不会填充任何代价高昂的负载,只是因为这个事件是由Windows的旧消息循环引发的。 – 2011-02-15 14:58:20
我不知道我明白这一点。每当整个应用程序闲置时,Application.Idle事件都不会启动?如果应用程序中有很多表单会怎么样?我需要弄清楚当前显示哪些窗口,然后执行必要的逻辑? – tardomatic 2011-02-16 06:13:37