リストビューの選択行の色を変えるには

解決


小副川  2005-08-26 19:32:10  No: 91804

この掲示板にいつもお世話になっています。
windows2000でVB.NETを使用しています。
現在リストビューにデータを表示して方向キーで上下に移動すると、行が濃い
ブルーで表示されますがこの色を変更するにはどうすればよいのでしょうか。
初歩的な質問かもしれませんがご教授お願いします。


台風一過  2005-08-26 21:53:55  No: 91805

ここを参考してください。
http://dobon.net/vb/dotnet/control/all.html


小副川  2005-08-26 22:33:38  No: 91806

早速の回答ありがとうございます。
参照したものは、リストボックスでDrawModeプロパティがありますが、リストビューにはDrawModeプロパティが見当たりません。
相当する他のプロパティがあるのでしょうか


なおこ(・∀・)  2005-08-26 23:42:15  No: 91807

はじめまして。
私はプロパティが解らなかった(見つからなかった…)ので,
ListViewControlを継承して,
独自のListViewControlの中で,
OnClickとかOnKeyDownで,SelectedItemsを取得して,
現在選択されている行(ListViewItem)のBackColorプロパティを
変更したりしました。あまり参考にならないかもしれませんが…。


小副川  2005-08-26 23:50:27  No: 91808

なおこ(・∀・)さん、ありがとうございます。
早速試してみます。うまくいったら報告いたします。


なおこ(・∀・)  2005-08-26 23:56:06  No: 91809

すみません…。
イベントを他のと勘違いしてました。
OnSelectedIndexChangedです。


小副川  2005-08-27 00:22:49  No: 91810

なおこ(・∀・)さん
よくわかりませんでした。
かってな言い分ですが具体的に、ご教授願えませんか。


なおこ(・∀・)  2005-08-27 00:41:21  No: 91811

了解です。私のやり方でよければご説明させていただきます。

とりあえず,継承はやめておいて,
該当フォームのListView_SelectedIndexChangedで実装してみてください。
仮に,デフォルトが[白],選択色を[赤]として説明します。

■該当フォームのListView_SelectedIndexChangedの実装
1.すでに赤くなっている部分を一旦リセットします。
For Each lst As ListViewItem In Me.ListView1.Items
    If Not lst.BackColor.Equals(System.Drawing.Color.White) Then
        lst.BackColor = System.Drawing.Color.White
        Exit For
    End If
Next

2.選択されている行を取得します。
Dim selectedlst As ListViewItem
If Me.ListView1.SelectedItems.Count > 0 Then
   selectedlst = Me.ListView1.SelectedItems(0)
Else
   Exit Sub '仮)選択されているものがない場合は抜けます。
End If

3.選択されている行の背景色を変更します。
selectedlst.BackColor = System.Drawing.Color.Red


特攻隊長まるるう  2005-08-27 00:41:41  No: 91812

なおこ(・∀・)さんのあげられた方法は
『継承』が理解できてないと何も理解できないでしょう。
とりあえず上記キーワードをヘルプ・過去ログ・WEB
の順で調べることをお勧めします。
過去ログ検索は隣りの掲示板(VB初心者掲示板)のほうが
引っ掛かります。


特攻隊長まるるう  2005-08-27 00:43:55  No: 91813

う。かぶった。…ボクの書き込みはなおこ(・∀・)さんの1つ前の
書き込みに対するものです。


なおこ(・∀・)  2005-08-27 00:45:35  No: 91814

>特攻隊長まるるうさん
はじめまして。フォローありがとうございます。


小副川  2005-08-27 01:08:55  No: 91815

なおこ(・∀・)さん、特攻隊長まるるうさん
ありがとうございました。
あれこれやりながら、何とか解決いたしました。
ご迷惑をおかけいたしました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加