private void UpdateDisplayNameInList( int index, string name )
{
if( this.InvokeRequired ) {
Invoke( new UpdateDelegate( UpdateDisplayNameInList ), new object[] { index, name } );
} else {
UserRecord u = lstUsers.Items[index] as UserRecord;
if( u != null ) {
bool selected = lstUsers.SelectedIndex == index;
if( name == null ) {
name = "?";
}
u.DisplayName = name;
lstUsers.Items.RemoveAt( index );
lstUsers.Items.Insert( index, u );
if (selected) lstUsers.SelectedIndex = index;
else lstUsers.SelectedIndex = 0;
}
}
}