?
Solved

Change ListView Highlight Color

Posted on 2010-09-09
3
Medium Priority
?
897 Views
Last Modified: 2012-05-10
I would like to be able to control the highlight color of each listview item individually depending on what their individual backcolors are. I found a way to change all of them on the form but that is not what I want. Basically, if the backcolor is a light red, I want the highlight color to be a dark red. Is this possible? Thanks.
0
Comment
Question by:rbichon
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 15

Accepted Solution

by:
David L. Hansen earned 2000 total points
ID: 33642358
Try this:

Private Sub listBox1_DrawItem(sender As Object, e As DrawItemEventArgs)
	Dim index As Integer = e.Index
	Dim g As Graphics = e.Graphics
	For Each selectedIndex As Integer In Me.listBox1.SelectedIndices
		If index = selectedIndex Then
			' Draw the new background color
			e.DrawBackground()
			g.FillRectangle(New SolidBrush(Color.Red), e.Bounds)
		End If
	Next

	' Get the item details
	Dim font As Font = listBox1.Font
	Dim colour As Color = listBox1.ForeColor
	Dim text As String = listBox1.Items(index).ToString()

	' Print the text
	g.DrawString(text, font, New SolidBrush(Color.Black), CSng(e.Bounds.X), CSng(e.Bounds.Y))
	e.DrawFocusRectangle()

End Sub

Private Sub listBox1_SelectedIndexChanged(sender As Object, e As EventArgs)
	listBox1.Invalidate()
End Sub

Open in new window

0
 
LVL 1

Author Comment

by:rbichon
ID: 33647194
I had to modify some of the code to fit my needs, but this was exactly what I was looking for. Thanks!
0
 
LVL 15

Expert Comment

by:David L. Hansen
ID: 33662066
Glad to help. :)
0

Featured Post

Enroll in August's Course of the Month

August's CompTIA IT Fundamentals course includes 19 hours of basic computer principle modules and prepares you for the certification exam. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
Suggested Courses

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question