2016-04-29 4 views
1

私が選択したリストビューのすべての項目を設定しようとしています。リストボックスは Select All, programatically(すべてのアイテムの背景色は白です)のように見えます。 アイテムを手動で選択すると、2番目のイメージ(Select All, manually)と同様に、背景色が青色になります。C#ListViewコントロールのSelectAll選択色

HideSelection=False, FullRowSelection=True, MultiSelect=True. 

質問:プログラムで選択したアイテムを手動で選択した場合のように表示する方法はありますか?

ListViewにバグがありますか?

答えて

1

アプリケーションのフォーカスの場所によっては、選択項目が「青い」と表示されないことがあります。各項目を選択した後に戻ってリストビューにフォーカスを設定すると、各アイテムの背景「青」になります。これが勝利のフォームアプリであると仮定すると、

m_lvFiles.Focus(); 

...それについての関連質問があり

+0

denvercoder9さん、ありがとうございます。これはwinフォームアプリですが、Focus()を呼び出すだけでは助けにはならないようです(そうでないと尋ねたことはありません)。 –

1

ことあなたを助けるかもしれない:

Here

public static void SetItemState(ListView list, int itemIndex, int mask, int value) { 
    LVITEM lvItem = new LVITEM(); 
    lvItem.stateMask = mask; 
    lvItem.state = value; 
    SendMessageLVItem(list.Handle, LVM_SETITEMSTATE, itemIndex, ref lvItem); 
} 

私はそれはあなた

を役に立てば幸い
+0

ありがとうございます。Nestoraj、この機能の使い方を教えてください。 'マスク'と '値'にはどのような値がありますか? コードスニペットが最適です。 –

関連する問題