2009-06-30 5 views
0

私は継承したコードを試していますが、複数の行を選択できるように1つの行だけを選択できるようにしています。複数選択機能を追加する(Java Developer Learning C#)

私が扱っているアイテムは、基本的にデータテーブルのように表示されます。 "OnSelectItem"と "OnMouseDown"のメソッドを含み、クリックがマウスの右クリックかマウスの左ボタンクリックかを確認する "OnMouseDown"チェックを含みます。

一般に、Multi Selectをサポートする機能をサポートする機能はどのように実装されていますか?特定のキーを押し続けることに加えて、マウスのクリックを認識するか、このタイプの機能を実装する別の方法がありますか?

+0

作業しているコントロールはどのタイプですか?いくつかのコントロールは、多くの労力を要することなく「マルチセレクト」機能を持つように設計されています。 –

+0

私はまだC#の用語に慣れていないので、このテーブル表示のどの部分がコントロールであるか(または、ディスプレイ自体がコントロールであるかどうかはわかりません)。 クラス定義はpublicクラスSearchListです:私が推測しているコントロールは、コントロールを拡張しているか、コントロールインターフェイスを実装していることを意味します。 あなたの質問に対する実際の回答を見つけるために必要な指示を与えるための情報を、少なくとも提供するのに役立ちますか? – Kivus

+0

提供された回答に基づいて、私はマルチセレクト機能の実装をより完全に探求することができました。それがこの質問の最初の目的でしたので、私はそれを答えたものとしてマークしました。 – Kivus

答えて

2

あなたのコメントは、カスタムコントロールを使用していることを示しています。したがって、マイクロソフトが提供する一般的なコントロールに適用される回答は、まったく機能しない可能性があります。

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

例として、CheckedListBoxコントロールを見ることができます。すべての行の前にチェックボックスがあります。チェックボックスをオンにすると、その行が「選択済み」になります。それがあなたが探している選択の種類でない場合は、詳細モードでListViewコントロールを見ることができます。 CTRLまたはSHIFTを使用してマウスクリックが選択にどのように影響を与えるかを変更するオプションを設定して、複数の行を強調表示させることができます。

+0

私はCtrlキーを押しながらアイテムを選択したときを認識する方法を理解しました。私はこの道をもう少し歩くことができます。 「[詳細]のListViewコントロールで[探している]についての提案は、メリットがあるように聞こえます。私はあなたが何を意味しているのか正確には分かりません。残念ながら、「詳細モード」が何であるかはわかりません。まだC#/ Visual Studioの世界ではあまりにも新しいです。 – Kivus

+0

新しいプロジェクトをポップしてListViewコントロールにスローし、次に「詳細」プロパティを「詳細」に設定します。 –

+0

Cool。先端に感謝します。 – Kivus

0

限り複数選択すると懸念している私の視点から、それはまた、マウスに加えて、キーボードのサポートを必要とし、我々は、Shiftキーを押した後、アップ押すか、下にも、キーを矢印かどうかを制御で

1)をクリックします行は、私はこれがあなたの場合に可能かどうかであることを確認していない、我々はまた、チェックボックス欄でマルチ選択機能を実装することができます) を選択します

3)のマウスクリックで、また、固定列の基本がありますその列全体の行が選択されています

関連する問題