public void Append(params object[] chunks) { _packet.Append(chunks); try { BeginUpdate(); ListViewItem item = null; byte[] data = new byte[0]; SuppressItemSelectedEvent = true; string typeName = string.Empty, value = string.Empty, encoded = string.Empty; foreach (object chunk in chunks) { value = chunk.ToString(); data = HMessage.Encode(chunk); encoded = HMessage.ToString(data); typeName = chunk.GetType().Name.Replace("Int32", "Integer"); item = FocusAdd(typeName, value, encoded); item.ToolTipText = string.Format(CHUNK_TIP, typeName, value, data.Length, encoded); } SuppressItemSelectedEvent = false; OnItemSelected(new ListViewItemSelectionChangedEventArgs(item, item.Index, true)); } finally { EndUpdate(); } }