Hi Ahmed,
I suspect it is doing lots of redraws.
You could try a quick and dirty:
In the ItemChanged event at the top of the event SetRedraw ( FALSE )
Right at the end of the ItemChanged event POST SetDraw (TRUE)
Similar in ItemFocusChanged, RowFocusChanged and even the Clicked event
HTH
Lars