人のキモチとDialog


開発をされている方にとっては当たり前の話ですが….


Q1. こんなダイアログが出てきたとします。デフォルトボタンはどちらにするべきでしょう?



A1. 履歴を表示します、という内容からユーザーがメニュー等から選択した可能性が高いです。当然ユーザーは早く履歴を見たいわけですから、デフォルトが「キャンセル」になっていると、「OK」に変更して「OKを押す」という手間がかかってしまいます。これではユーザーは履歴表示のために面倒に感じるでしょう。


ですから、ここは「OK」ボタンをデフォルトに設定しておくのが正解です。





MessageBox.Show(“履歴を表示します”, “履歴表示”, MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)

Q2. では、このダイアログの場合はどうでしょう?



A2. ユーザーは削除したいからそのメニュー等を押してこのダイアログが出てきたと思われます。しかし、万が一間違ってこのメニューを選んでした場合、デフォルトで「OK」が選択されていた場合、誤ってそのまま「Enter」キーを押してしまったらファイルが消されてしまいます。これはいただけません。アプリケーションを作る側もこのせいで「ファイルを戻せ」なんて怒られたら感じが悪いですよね。


ですから、ここは「Cancel」が正解です。






MessageBox.Show(“削除します”, “削除確認”, MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2)


使う人の立場にたって考えるとユーザーインターフェースはどのようにするべきか見えてきますね。こういうことをアプリケーションにうまく組み込んでいきたいものです。

Comments (1)

  1. 削除の確認画面でのデフォルトボタンはどちらでしょう? 少し前に SONY の H