Solved

Listview item background colour not being displayed

Posted on 2009-04-01
8
643 Views
Last Modified: 2013-11-07
Hi,  I've got a listview and I need to change the backcolor of the first listviewitem. Although this is easily done, however this is not always shown on screen; however if you press on the listview the color comes in.  It sorts of needs of a refresh or some type of on-focus event
any ideas how can I avoid clicking on the listview to refresh this control please?
0
Comment
Question by:borgb002
  • 4
  • 3
8 Comments
 
LVL 9

Expert Comment

by:DjDezmond
Comment Utility
Well to instigate a control refresh at any point, you can simply call .Refresh().

How are you changing the back color though? Because there might be a more elegant way of achieving it.
0
 
LVL 9

Expert Comment

by:DjDezmond
Comment Utility
Basically, changing the color as follows should be enough:

C#
myList.SelectedItems[0].BackColor = Color.Blue;

VB
myList.SelectedItems(0).BackColor = Color.Blue
0
 

Author Comment

by:borgb002
Comment Utility
tried the refresh :(

sample:

for each lv as listviewitem in MyListview
   if lv.subitems(0).text="test" then lv.backcolor=colors.red
next





0
 

Author Comment

by:borgb002
Comment Utility
Dez,

mine is not a problem of not know how to change the back color. It is more of a problem that sometimes when the form comes up the backcolor is shown and in other times it doesnt. when it doesn't, if I left click on the listview (sort of to repaint or to trigger the on focus event) the color comes! funny??

0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 9

Expert Comment

by:DjDezmond
Comment Utility
Yea i knew that, but sometimes you can change the colour of a referenced listviewitem rather than the actual object itself, causing nothing to happen.

You could try:
   lstSoftwareData.RedrawItems(0, lstSoftwareData.Items.Count - 1, False)

And/or :
   Application.DoEvents()

I think have some kind of issue with your operating system, rather than your code syntax.
0
 

Expert Comment

by:masenn
Comment Utility
I am having in the same problem, running a Visual Studio 2008 program that colors Listviewitems.
On some workstations coloring Listviewitems works fine, on others it does not work.
Compared .NET Frameworks - > identical!
Checked Video and Videosettings on Operating Systems -> no success!
Help needed!


0
 
LVL 9

Expert Comment

by:DjDezmond
Comment Utility
You could try installing the latest service packs for visual studio and then re-compiling your exe's. That would be my next step...

Visual Studio 2005:
http://go.microsoft.com/fwlink/?LinkId=80651

Visual Studio 2008:
http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en

I updated mine today and was suprised at the sheer size of the update. ALOT of bugs were fixed in this service pack, so its definately worth a shot in your cases.
0
 

Accepted Solution

by:
borgb002 earned 0 total points
Comment Utility
Found a solution to those who might be interested. I have made a work around by selecting the list view item. see attached snippet

I hope this helps the others having a similar problem. Now it is working fine!

For lvMyItem as listviewitem in lvItems

    

    if lvMyItem.SubItems(0).Text = "Change this colour" then

        lvMyItem.backcolor = colors.red

        lvMyItem.Selected = TRUE      'this simple line solved my problem!!!

    end if
 

next for

Open in new window

0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Programmer's Notepad is, one of the best free text editing tools available, simply because the developers appear to have second-guessed every weird problem or issue a programmer is likely to run into. One of these problems is selecting and deleti…
Here is a helpful source code for C++ Builder programmers that allows you to manage and manipulate HTML content from C++ code, while also handling HTML events like onclick, onmouseover, ... Some objects defined and used in this source include: …
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

728 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now