【问题标题】:Events in cascading combo boxes级联组合框中的事件
【发布时间】:2011-03-23 12:32:28
【问题描述】:

我创建了一个 WinForms 用户控件,它是一组五个级联组合框 - 用户从顶部组合中选择一些内容,然后填充并启用第二个组合,依此类推。如果新启用的组合中只有一个选项,我会自动选择它,使其下方的选项变为活动状态。因此,单个用户操作可能会通过几个额外的组合产生涟漪效应。

我针对每个组合框提出一个特定的事件。我还想在 anything 发生任何变化时提出最终事件。例如,用户从顶部组合中选择一个选项。这会引发 Combo1Changed 事件。如果这会自动导致第二个组合中的选择,那么我也会引发一个 Combo2Changed 事件。完成后,我想引发一个 SomethingChanged 事件。

现在,每次组合更改时,我都会引发 ComboXChanged 和 SomethingChanged 事件。但由于单个选择可以级联所有五个组合,因此可能会引发数十个事件。

我不知道如何确定级联何时完成,以便我可以只触发一次事件。编码这种东西有什么聪明的技巧或模式吗?

【问题讨论】:

    标签: winforms combobox cascadingdropdown


    【解决方案1】:

    你可以通过一个类来解决这个问题,所有组合框都将它们的选择更改事件传递给该类,并引发一个封装其他事件的 somethingchanged 事件。

    话虽如此,我会考虑重新设计该用户界面。您是否考虑过用树状视图替换四个甚至所有这些下拉列表?这对用户来说会更容易导航。

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 2013-06-22
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      相关资源
      最近更新 更多