2011-02-08 54 views
2

我们一直在与客户进行辩论,通知用户有关错误。一般情况下: - 用户打开表格 - 用户填写表格中的20个字段 - 用户按下确定 - 如果存在错误,错误字段由标准.NET错误提供程序标记,并且对话框不关闭。用户界面设计:错误信息控件或消息框?

我们的客户希望在以下情形中实现: - 如果字段是错误的,显示一个消息框描述错误 - - 有时只是一个警告是,当用户想要从外地 移开验证领域需要,但它必须是一个消息框。

第一个问题:您如何通知用户有关数据输入错误?你使用消息框还是类似.NET的错误提供程序?我这样问,因为到目前为止我们只使用了.NET错误提供程序,我们觉得第二种方式很奇怪。

第二个问题:在实现第二个场景时,我们使用Validating事件来显示消息框。一切工作正常,除了用户更改字段,然后单击确定的情况。在这种情况下,模式表单不会关闭,我们需要执行特殊代码来跟踪集中控制。你有没有遇到过这个问题?你还实施了一个焦点追踪机制吗?

回答

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

0

一个不错的方法如下:

使用验证控制,因为它们发生差错通知用户。

  • 在这种情况下,请确保您提供的错误原因的有用信息。
  • 您应该可以做到这一点,因为该字段的值会更新。是否通过INotifyPropertyChanged,绑定列表等

然后,如果用户试图提交表单,不要让他们。给他们一个对话,说

'嘿伙计。看到那些红色的眨眼睛的东西,那些意味着你有错误。去修理他们,然后你可以吃你的甜点。'

您的错误需要明显以及错误的解决方案。没有什么比在火灾中发生的GENERIC FAULT ERROR PRINTER更糟。

0

它很难给出一般的答案 - 上一代软件一般用于错误的messagebox。但我认为目前这一代软件有一个切换,以避免消息框。所以,我想我在演示中看到,在Microsoft LightSwitch中没有与您的情况类似的消息框。

0

这取决于用户和实际输入的错误数量。

这可能还取决于用户实际拥有多少说! ($$$)

如果输入了很多错误,那么我认为他们会很快厌倦消息框。

根据形式及其造型/布局,使用其他形式的错误指示可能更合适,当用户提前聚焦时,这种错误指示仍然清晰可见。

当然,如果用户得到很多错误,那么可能存在更适合解决的潜在问题。

0

我在其他应用程序中实现了此方法。在UI上显示(内联)错误。禁用用户前进的能力。如果他们点击禁用的移动/前进按钮,则显示一个弹出窗口。