1

これが私の質問を説明する例です。

  • 1000個のアイテムをリストするプログラムがあります。
  • 1000アイテム中10アイテムを選びます。
  • プログラムは、コマンドが私の選択に利用可能であることを示すボタンを有効にします。
  • ボタンをクリックすると、ウィンドウが表示されます。
  • ウィンドウに変更を加えて、[OK]をクリックします。
  • このコマンドは、複数選択の10個のアイテムのうち5個を変更し、これらの5個の変更されたアイテムは、リストの変更された状態を反映するようになりました。

私の質問は:

[OK]をクリックする前に、コマンドが複数選択のサブセットに影響することをユーザーに示すにはどうすればよいですか?

このシナリオをうまく処理する既存の製品の例を誰かが引用できますか?

4

2 に答える 2

2

リストにさまざまなタイプのアイテムが含まれていて、アクションが特定のタイプのリストアイテムにのみ適用される場合、リストアイテムとアクションボタンの両方に、参照しているタイプが反映されている必要があります。そして、このアイテムは、アクションが実行されたことを反映している必要があります。(あなたの説明のように聞こえます。)

たとえば、さまざまな種類のアイテムのリストを次に示します。

ITEMS
NAME       TYPE      STATE
====       ====      ==== 
oatmeal    cookie
chocolate  cake
chocolate  pudding
carrot     cake
cherry     pie

これで、ユーザーがこのリストのすべてのアイテムを選択すると、ラベルが付いたボタンが表示されます

"Frost Cake" 

有効になります。また、[Frost Cake]ダイアログを開いたり閉じたりすると、アクションが実行され、リストは次のようになります。

ITEMS
NAME       TYPE      STATE
====       ====      ==== 
oatmeal    cookie
chocolate  cake      frosted
chocolate  pudding
carrot     cake      frosted
cherry     pie

もちろん、この例は完全に正しくない可能性があります。これで、どの種類のフロスティングが使用されたかを知りたい場合があり、すべてのケーキに同じ種類のフロスティングを適用したくない場合があるためです。しかし、それは別の問題です。

于 2010-05-07T15:33:49.830 に答える
1

この問題をあなたが試みている方法で扱っている既存の製品を私は知りませんが、あなたは正しいアプローチを取っていると思います。たとえば、CorelDrawは、読み取り専用の情報を表示するだけでも、編集可能なオブジェクトと編集不可能な(「ロックされた」)オブジェクトの組み合わせをユーザーが複数選択できないようにすることで、この問題を回避します。同様に、IronCADでは、特定の異なるクラスのオブジェクト(カメラやパーツなど)を複数選択することはできません。それは私には不必要な制限のように思えます。Windows XPは、異なるクラスの複数のアイテム(たとえば、マイコンピュータとPDFファイル)のプロパティウィンドウを開こうとすると、単にあなたを無視します。それは混乱し、イライラする可能性があります。何でも複数選択できるようにすることでユーザーに最大の柔軟性を与え、選択されたものに対して可能な限り多くのことを実行したいと思うようです。

ここにいくつかのアイデアがあります:

  • まず、メイン/親ウィンドウに関連情報を表示して、一部のアクションが特定の選択されたオブジェクトに影響を与えないとユーザーが推測できるようにします。たとえば、読み取り専用オブジェクトに、おそらく選択時にのみ、明確な外観を与えます(CADタイプのアプリのハンドル用の小さな南京錠を想像しています)。オブジェクトの各クラスは、おそらくそれぞれに特定のアイコンをタグ付けすることによって、異なる外観を持つ必要があります。このように、ユーザーが複数選択すると、コマンドが何を実行し、意味をなさないかを予測できます(たとえば、このアイテムはカメラであるため、移動することはできますが、サイズを変更することはできません)。

  • ダイアログが開かれるまでアプリが何が何に適用されるかを判断できない場合は、アクションが適用されないオブジェクトの選択の外観を変更する可能性があります。たとえば、ユーザーがプロパティ値を変更すると、そのプロパティがないすべてのオブジェクトは、親ウィンドウに「セカンダリ」選択として表示されます。

  • アクションを適用するための基準が明確でない場合は、いくつかのテキストキューが必要になる場合があります。アクションを呼び出すメニュー項目またはボタンは、そのキャプションに、影響する項目の数または影響するもの(「板金のみ」など)を含めることができます。[プロパティ]ボックスで、プロパティの列の横に、各プロパティが適用される、または変更できる多くの選択されたアイテムを示す列を含めることができます。

  • それがスペースを大量に消費し、影響を受けるのは一部のオブジェクトのみ(正確な数、ID、比率ではない)であることを示すだけの場合は、ダイアログで脚注を使用できます。「部分的」を意味するシンボルを作成しますか?おそらく半分塗りつぶされた円ですか?(アスタリスクは使用しないでください。多くの場合、「必須」を意味します。)選択範囲のサブセットに影響を与えるコントロールにこの記号を付けます。ダイアログの下部に、「=は選択した一部のアイテムにのみ適用されます」というテキストの記号を表示します。</ p>

  • ユーザーがそのアクションをコミットする前に、アクションが部分的にのみ適用されることを示す必要があるのは正しいですが、フォールバックとして、アクションの後にフィードバックを提供することができます。一般に、親ウィンドウのオブジェクトでアクションの効果を視覚的に明らかにしたいのですが、それで十分な場合があります。ただし、ユーザーが混乱していることをまだ心配している場合(たとえば、後でスクロールして表示されなくなったオブジェクトが変更されていないことに気付いた場合)、「[アクションが完了すると、[m]個の選択されたアイテムの[n]個がアクションされました。ユーザーが理由を理解できない場合に備えて、ヘルプリンクを提供することもできます。

新しいUIデザインの道を切り開いているようです。ユーザーに決定したものをすべてテストして、実際に機能するかどうかを確認することをお勧めします。

于 2010-05-07T16:05:00.687 に答える