public void LogData(Message completedMessage) { String message; MessageFormat format = GetMessageFormat(completedMessage.IdHigh, completedMessage.IdLow); if (format == null) { message = completedMessage.ToString(); } else { message = completedMessage.GetTimestamp() + format.Name; if (completedMessage.Data == null || completedMessage.Data.Length == format.Length) { String formattedString = FormatParser.Parse(format.FormatString, completedMessage.Data); // if data length == 0, this can still return string via external program if (formattedString != null && formattedString.Length != 0) { message += ": " + formattedString; } } else { message += ": Message Format Does Not Match Data Length"; } } recordedMessages.Add(message); if (cmbViews.SelectedItem.ToString().Equals(ALL_MESSAGES) || message.Contains(cmbViews.SelectedItem.ToString())) { if (listBoxOneSelected) { lstDisplayWindowOne.Items.Add(message); lstDisplayWindowOne.SelectedIndex = lstDisplayWindowOne.Items.Count - 1; } else { lstDisplayWindowTwo.Items.Add(message); lstDisplayWindowTwo.SelectedIndex = lstDisplayWindowTwo.Items.Count - 1; } } }