private void scanSEGY() { // read all traces; drop trace data contents f.MoveFilePointerToStartOfTraces(); f.Traces = new List <SEGYTrace>(); int c = 0; while (true) { if (f.ReadNextTrace(false) == false) { break; } f.Traces.Add(f.currentTrace); c++; if (c % 100 == 0) { this.toolStripStatusLabel1.Text = "scanning trace # " + c.ToString(); Application.DoEvents(); } } this.toolStripStatusLabel1.Text = ""; f.MoveFilePointerToStartOfTraces(); f.ReadNextTrace(); refreshTraceHeader(); trackBar1.Minimum = 0; trackBar1.Maximum = f.Traces.Count - 1; trackBar1.TickFrequency = trackBar1.Maximum / 10; trackBar1.Value = 0; }