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