Solved

Listview item background colour not being displayed

Posted on 2009-04-01
8
644 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
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 

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

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
JTable - Group/UnGroup/Drag&Drop 2 94
Taskbar - Easiest way to run Visual Studio (devenv.exe) as administrator 4 37
Custom ckeditor using builder 10 100
Java Help 2 85
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: …
Jaspersoft Studio is a plugin for Eclipse that lets you create reports from a datasource.  In this article, we'll go over creating a report from a default template and setting up a datasource that connects to your database.
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.
The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

821 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