Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Listview item background colour not being displayed

Posted on 2009-04-01
8
Medium Priority
?
668 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
ID: 24047856
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
ID: 24047871
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
ID: 24047872
tried the refresh :(

sample:

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





0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:borgb002
ID: 24047889
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
 
LVL 9

Expert Comment

by:DjDezmond
ID: 24048028
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
ID: 24156551
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
ID: 24169482
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
ID: 24176217
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

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

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

In our object-oriented world the class is a minimal unit, a brick for constructing our applications. It is an abstraction and we know well how to use it. In well-designed software we are not usually interested in knowing how objects look in memory. …
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 keystrokes in Netbeans IDE 8.0 for Windows.
Suggested Courses

971 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