web-dev-qa-db-ja.com

複数のダイアログにわたって行われた編集で、[キャンセル]ボタンは何をすべきですか?

メイン画面からユーザーが設定ダイアログ(ダイアログA)を開くWindowsデスクトッププログラムがあります。このダイアログでは、さまざまな設定を編集でき、完了したら[OK]をクリックして変更を保存し、ダイアログを閉じます。または、[キャンセル]をクリックすると、保存せずにダイアログが閉じます。

さらに、ダイアログAから、特定の設定を編集するための2番目のダイアログ(ダイアログB)を開く設定もあります。以前と同様に、ダイアログBにも[OK]と[キャンセル]ボタンがあります。

ユーザーがダイアログBで値を編集して[OK]をクリックすると、変更が保存され、まだ開いているダイアログAに戻ります。しかし、ダイアログAで[キャンセル]をクリックするとどうなりますか?ダイアログBで行った変更もキャンセルする必要がありますか、それとも適用したままにする必要がありますか? Explanatory diagram

2
EUX

変更を破棄します。

ダイアログBがダイアログAが制御する構成の一部を編集することを明確にしてください。これを行うには:

システム状態の表示ダイアログBが編集する値を、ダイアログAの要約変更セットとして表示します。

別のボタンを使用ダイアログAに「保存」/「適用」、ダイアログBに「OK」/「完了」

そもそもその相互作用パターンを持つことはお勧めしません。ただし、デフォルトではより安全なオプションが使用されます。通常は、変更されたすべての設定が一緒に書き込まれます。

4
Jason A.

上記の回答は、後で見つけたマイクロソフトのガイドラインに同意するため、正しい回答としてマークしました。

ダイアログは「プロパティウィンドウ」タイプのダイアログです(リンクを参照) https://msdn.Microsoft.com/en-us/library/windows/desktop/dn742500(v = vs.85).aspx

このダイアログのガイドラインは次のとおりです。遅延コミットモデルを使用するプロパティウィンドウの場合、所有者ウィンドウで[キャンセル]をクリックして、所有プロパティウィンドウで行われた変更をユーザーがキャンセルできることを確認してください。

0
EUX