2011-02-08 83 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上顯示(內聯)錯誤。禁用用戶前進的能力。如果他們點擊禁用的移動/前進按鈕,則顯示一個彈出窗口。