我们正在与客户就向用户通知错误进行辩论。一般情况: - 用户打开表单 - 用户填写表单上的20个字段 - 用户按OK - 如果存在错误,则错误字段由标准.NET错误提供程序标记,对话框不会关闭。
我们的客户希望实施以下方案: - 当用户想要远离现场时验证该字段 - 如果字段出错,则显示描述错误的消息框 - 有时只需要一个警告,但它必须是一个消息框。
第一个问题:如何通知用户数据输入错误?您是否使用消息框或类似.NET的错误提供程序?我问这个是因为到目前为止我们只使用了.NET错误提供程序,我们觉得它的第二种方式很奇怪。
第二个问题:在实现第二个场景时,我们使用Validating事件来显示消息框。除了用户更改字段然后单击“确定”的情况外,一切正常。在那种情况下,模态形式不会关闭,我们需要实现特殊代码来跟踪聚焦控制。你遇到过这个问题吗?您是否也实施了焦点跟踪机制?
答案 0 :(得分:0)
一个很好的方法如下:
使用验证控件在发生错误时通知用户。
然后,如果用户尝试提交表单,请不要让它们。给他们一个说
的对话框'嘿伙计。看到那些红色的东西,那些意味着你有错误。去解决它们然后你可以吃点甜点。'
您的错误必须明显,错误的解决方案也是如此。没有什么比火灾上的GENERIC FAULT ERROR PRINTER更糟糕了。
答案 1 :(得分:0)
很难给出一般答案 - 上一代软件通常使用messagebox进行错误。但我认为当前一代软件有一个转换,以避免消息框。所以,我想我在演示中看到,在Microsoft LightSwitch中,没有像你这样的情况下的消息箱。
答案 2 :(得分:0)
微软添加错误提供程序的全部原因是为了避免客户端似乎决定放弃自己的“消息框地狱”。模态对话框会中断用户的流程并导致额外的,不必要的UI交互。在他们看过几次这个消息之后,他们甚至都不会再读它了。
现在,我同意他们应该立即通知用户,当他们离开该字段时,验证失败,或者甚至应该将他们留在现场。
Infragistics对此有一些很好的指导:
http://quince.infragistics.com/html/PatternView.aspx?id=efb68767-0c0d-48da-9dab-d398ae1d7e8c
(为了及时进行验证,我认为你需要使用这样的错误提供者http://msdn.microsoft.com/en-us/library/f6xht7x2.aspx)
答案 3 :(得分:0)
这取决于用户以及实际输入的错误数量。
这可能还取决于用户实际拥有多少话! ($$$)
如果输入了大量错误,那么我认为他们会很快厌倦消息框。
根据表单及其样式/布局,使用其他形式的错误指示可能更合适,当用户提前聚焦时,仍然会清晰可见。
当然,如果用户收到大量错误,那么可能存在更适合解决的潜在问题。
答案 4 :(得分:0)
我已在其他应用程序中实现此方法。在ui上显示(内联)错误。禁用用户前进的能力。如果他们单击禁用的移动/前进按钮,则显示弹出窗口。