代码之家  ›  专栏  ›  技术社区  ›  JoelFan

单选按钮的模式,每个选择一组其他控件?

  •  0
  • JoelFan  · 技术社区  · 15 年前

    我注意到在UI开发(Web和胖客户端)中有一个常见的场景,其中有一组单选按钮,单击单选按钮意味着要“选择”一组其他控件(为了简单起见,假设它们都是文本框)。

    *   ________   ________  __________
    
    *   ________
    
    *   ________   ________
    

    因此转换成UI需求,这意味着

    1. 每当用户单击收音机时 在它的“设置”中应该被删除,并且

    对我来说,问题是正确地编程是非常困难的。有许多事件要处理,处理程序可能会导致其他事件触发,等等。

    有什么可以遵循的“模式”吗?

    3 回复  |  直到 15 年前
        1
  •  0
  •   Michael Zuschlag    15 年前

    实际上,从可用性的角度来看,我建议您不要在取消选中单选按钮时删除文本框中的值。当用户在单选按钮之间切换时,不应该破坏他们的工作。通过不清除文本框,用户可以在选项B之后返回使用选项a,而无需重新输入文本框值。

    你可能想 取消选中关联单选按钮时的文本框,以便向用户指示文本框值不适用。您可能还应该使选择单选按钮自动将焦点放在第一个关联的文本框中,以便为用户保存额外的鼠标单击或制表键按下。在大多数情况下,这将与用户在原始设计中单击所需的文本框一样有效。

    这种设计还简化了代码。您只需要在单选按钮的更新事件中设置启用和焦点。

        2
  •  0
  •   Rafał Dowgird    15 年前

    有很多事情要处理

    人们可以称之为层次MVC(这里是一个模式:-),尽管这个名字听起来太重了,无法描述上面的内容。

    处理程序可以引发其他事件等。

    似乎是行控制器在选择/取消选择行时抑制激发的次要事件的作业。行控制器知道是否正在执行选择/取消选择,因此可以抑制次要事件。不确定这是不是一个模式。可能是一个布尔标志模式,指示正在进行选择:-)

        3
  •  0
  •   andrepf    15 年前

    您可以使用“Subform”UI模式及其关联的模式(可选的子表单、子表单选择等)

    here .