0

私は継承したコードの一部に取り組んでおり、1つの行のみを選択できるように、複数の行を選択できるように拡張しようとしています。

基本的に、私が扱っているアイテムはデータテーブルのように表示されます。これには、「OnSelectItem」および「OnMouseDown」のメソッドが含まれており、「OnMouseDown」は、クリックがマウスの右ボタンクリックであるかマウスの左ボタンクリックであるかを確認します。

一般的に、マルチセレクトをサポートする機能をサポートする機能はどのように実装されていますか?特定のキーを押したままにするだけでなく、マウスクリックを認識することで処理されますか、それともこのタイプの機能を実装する別の方法がありますか?

4

2 に答える 2

2

コメントは、カスタムコントロールを使用していることを示しています。そのため、Microsoftが提供する一般的なコントロールに適用される回答は、まったく機能しない場合があります。

すでにリストしたイベントを使用して、このカスタムコントロールの複数選択機能を処理できるはずです。

例として、CheckedListBoxコントロールを見ることができます。すべての行の前にチェックボックスがあります。チェックボックスをオンにすると、その行が「選択」されます。それが探している選択のタイプでない場合は、詳細モードでListViewコントロールを確認できます。CtrlキーやShiftキーを押しながら複数の行を強調表示するオプションを設定して、マウスクリックが選択に与える影響を変更できます。

于 2009-06-30T15:23:29.433 に答える
0

私の観点からすると、マルチセレクトに関しては、マウスクリックに加えてキーボードのサポートも必要です。

1)コントロールでShiftキーを押してから上矢印キーまたは下矢印キーを押すと、行も選択されます

2)チェックボックス列で複数選択機能を実装することもできますが、これが可能かどうかはわかりません。

3)固定列の基本もあり、その列をマウスでクリックすると、行全体が選択されます。

于 2009-06-30T16:07:15.550 に答える