2008-09-27 54 views
0

我有一个Windows窗体项目,我刚开始。在窗体上,我有一个我正在加载产品的列表框。当有人双击产品时,我想让它产生一个ProductChanged事件。我的项目中的其他内容将订阅此事件,并在产品更改时更新GUI等其他部分。调用事件的适当位置?

我的问题是,事件应该发生在何处,谁应该提出?应该将事件放在窗体上并由列表框的双击处理程序引发?或者,我应该将其设置在产品类中的事件发生地点,并且列表框会调用此类上的方法,让它知道产品已更改。然后产品类会提高事件?还是应该以另一种方式来完成?

回答

1

产品更改为UI事件,如果它在表单上引发并且其他UI元素适用于该事件,则该事件有意义。

1

该列表框应该引发事件,因为它的产品已更改。

0

取决于您的活动表示的内容。如果意图通知订户Product对象已被修改,那么它属于Product类,应该由该类内的代码触发。如果意图是通知另一个Product对象被选中,那么它属于管理产品列表的视图(您的列表框/表单)。

0

名称ProductChanged意味着事件在产品更改时被触发。我会在产品类中提出事件,因为在这种情况下,每次更改都会触发事件。如果在GUI中触发它,然后添加(例如)导入功能,则很可能是在更改后忘记触发事件。