この掲示板にいつもお世話になっています。
windows2000でVB.NETを使用しています。
現在リストビューにデータを表示して方向キーで上下に移動すると、行が濃い
ブルーで表示されますがこの色を変更するにはどうすればよいのでしょうか。
初歩的な質問かもしれませんがご教授お願いします。
ここを参考してください。
http://dobon.net/vb/dotnet/control/all.html
早速の回答ありがとうございます。
参照したものは、リストボックスでDrawModeプロパティがありますが、リストビューにはDrawModeプロパティが見当たりません。
相当する他のプロパティがあるのでしょうか
はじめまして。
私はプロパティが解らなかった(見つからなかった…)ので,
ListViewControlを継承して,
独自のListViewControlの中で,
OnClickとかOnKeyDownで,SelectedItemsを取得して,
現在選択されている行(ListViewItem)のBackColorプロパティを
変更したりしました。あまり参考にならないかもしれませんが…。
なおこ(・∀・)さん、ありがとうございます。
早速試してみます。うまくいったら報告いたします。
すみません…。
イベントを他のと勘違いしてました。
OnSelectedIndexChangedです。
なおこ(・∀・)さん
よくわかりませんでした。
かってな言い分ですが具体的に、ご教授願えませんか。
了解です。私のやり方でよければご説明させていただきます。
とりあえず,継承はやめておいて,
該当フォームの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
なおこ(・∀・)さんのあげられた方法は
『継承』が理解できてないと何も理解できないでしょう。
とりあえず上記キーワードをヘルプ・過去ログ・WEB
の順で調べることをお勧めします。
過去ログ検索は隣りの掲示板(VB初心者掲示板)のほうが
引っ掛かります。
う。かぶった。…ボクの書き込みはなおこ(・∀・)さんの1つ前の
書き込みに対するものです。
>特攻隊長まるるうさん
はじめまして。フォローありがとうございます。
なおこ(・∀・)さん、特攻隊長まるるうさん
ありがとうございました。
あれこれやりながら、何とか解決いたしました。
ご迷惑をおかけいたしました。
ツイート | ![]() |