我创建了一个 WinForms 用户控件,它是一组五个级联组合框 - 用户从顶部组合中选择某些内容,然后填充并启用第二个组合,依此类推。如果新启用的组合中只有一个选项,我会自动选择它,使其下方的选项变为活动状态。因此,单个用户操作可以通过几个额外的组合产生涟漪效应。
我提出了一个特定于每个组合框的事件。我还想在任何时候发生任何变化时提出最终事件。例如,用户从顶部组合中选择一个选项。这会引发 Combo1Changed 事件。如果这会自动导致第二个组合中的选择,那么我也会引发一个 Combo2Changed 事件。完成后,我想引发一个SomethingChanged 事件。
现在,每次组合更改时,我都会引发 ComboXChanged 和 SomethingChanged 事件。但由于单个选择可以级联所有五个组合,因此可能会引发数十个事件。
我不知道如何确定级联何时完成,以便我可以只触发一次事件。有没有聪明的技巧或模式来编码这种东西?