private void UpdatePacketDetails(PacketTabPage tp, PacketData pd, string SwitchBlockName) { if (tp == null) { return; } tp.CurrentSync = pd.PacketSync; lInfo.Text = pd.OriginalHeaderText; rtInfo.Clear(); PP = new PacketParser(pd.PacketID, pd.PacketLogType); PP.AssignPacket(pd); PP.ParseToDataGridView(dGV, SwitchBlockName); if (PP.SwitchBlocks.Count > 0) { cbShowBlock.Items.Clear(); cbShowBlock.Items.Add("-"); cbShowBlock.Items.AddRange(PP.SwitchBlocks.ToArray()); cbShowBlock.Show(); } else { cbShowBlock.Items.Clear(); cbShowBlock.Hide(); } for (int i = 0; i < cbShowBlock.Items.Count; i++) { if ((SwitchBlockName == "-") && (cbShowBlock.Items[i].ToString() == PP.LastSwitchedBlock)) { if (cbShowBlock.SelectedIndex != i) { cbShowBlock.SelectedIndex = i; } //break; } else if (cbShowBlock.Items[i].ToString() == SwitchBlockName) { if (cbShowBlock.SelectedIndex != i) { cbShowBlock.SelectedIndex = i; } //break; } } if (cbOriginalData.Checked) { rtInfo.SelectionColor = rtInfo.ForeColor; rtInfo.SelectionBackColor = rtInfo.BackColor; rtInfo.Text = "Source:\r\n" + string.Join("\r\n", pd.RawText.ToArray()); } else { RawDataToRichText(PP, rtInfo); } }