Hi,
cirkit1 wrote:
I am not really changing anything in the listview.
whatever you want to do to a Control (set a property, get a property, call a method), you must do so from the thread that created the Control in the first place. With the exception of a few: Control.InvokeRequired, Control.Invoke(), etc. So yes, you need the same "if InvokeRequired Invoke self" construct even to read a ListView item. BTW: Now you may choose to do this for each and every single Control access, or you may move a higher-level method to the Control's thread of course, that would take more GUI time (i.e. freeze your GUI longer), but all-in-all be better performance wise. :)
Luc Pattyn [Forum Guidelines] [My Articles]
this months tips: - use PRE tags to preserve formatting when showing multi-line code snippets - before you ask a question here, search CodeProject, then Google