private void DisplayScan() { if (this.reader == null) { return; } try { this.scan.ValidateComponent(); this.minPeakIntensity.ValidateComponent(); double rt = retentionTimes[this.scan.Value - 1]; PeakList <Peak> pkl = reader.GetPeakList(rt, this.minPeakIntensity.Value, topPeak.Value); try { ZedGraphicExtension.ClearData(this.zgcScan, false); var pplLight = new PointPairList(); pkl.ForEach(p => pplLight.Add(p.Mz, p.Intensity)); ZedGraphicExtension.AddIndividualLine(this.zgcScan, MyConvert.Format("Scan {0}", this.scan.Value), pplLight, Color.Blue, false); if (reader.GetMsLevel(rt) == 2) { this.zgcScan.GraphPane.Title.Text = MyConvert.Format("Precursor MZ = {0:0.0000}", pkl.PrecursorMZ); } else { this.zgcScan.GraphPane.Title.Text = string.Empty; } } finally { ZedGraphicExtension.UpdateGraph(this.zgcScan); } StringBuilder sb = new StringBuilder(); pkl.ForEach(m => sb.AppendLine(MyConvert.Format("{0:0.0000}\t{1:0.00}", m.Mz, m.Intensity))); txtPeaks.Text = sb.ToString(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }