こんにちは、yhoと申します。
VS.NET2003を使用してWindowsFormを開発しています。
以下の現象に悩んでおります。なにかアドバイスがございましたらご教授いただきたく、よろしくお願いいたします。
(目的)
WinForm上にListViewコントロールを貼り付け、ある特定行(ListViewItem)だけForeColorを赤色に変更したい。
(悩みの現象)
以下のコードにてプログラムを実行させると、ボタンクリック時に3行目のListViewItemのForeColorを赤色に変更することができます。しかし、その3行目をマウスで選択状態にしたあと、再び選択解除(ListViewコントロールのデータがない箇所をクリック)するとForeColorだけが元の色に戻ってしまいます。FontStyleはそのまま有効なのですが、これを回避する方法をご存じないでしょうか?
(現象が再現するコード)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.GridLines = True
ListView1.View = View.Details
ListView1.Items(2).ForeColor = Color.Red
ListView1.Items(2).Font = New Font(ListView1.Items(2).Font, FontStyle.Bold)
End Sub