void OnDoneReadingData(object sender, DataAquiredEventArgs e) { if (this.InvokeRequired) { this.Invoke(new Action<object, DataAquiredEventArgs>(OnDoneReadingData), sender, e); } else { this.stopRealTimeButton.Enabled = false; } }
/// <summary> /// On data acquisition update the UI with the trace. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnDataAquisition(object sender, DataAquiredEventArgs e) { if (this.InvokeRequired) { this.Invoke(new Action<object, DataAquiredEventArgs>(OnDataAquisition), sender, e); } else { this.stopRealTimeButton.Enabled = true; // // Check the attribute of the first channel received (all of the channels received are suppose to be of the same attribute). // This will help us decide which UI Tab should be updated. // if (e.DataChannels[0].GetType().GetCustomAttributes(false)[0] is DAQAttribute) { GraphAndFileNumberUpdate(e.DataChannels as List<IDataChannel>, this.channelsListView, this.traceWaveformGraph, e.FileNumber, this.fileNumberNumericUpDown); } else if (e.DataChannels[0].GetType().GetCustomAttributes(false)[0] is IVAttribute) { GraphAndFileNumberUpdate(e.DataChannels as List<IDataChannel>, this.ivChannelsListView, this.ivWaveformGraph, e.FileNumber, this.ivFileNumberNumericUpDown); } else { GraphAndFileNumberUpdate(e.DataChannels as List<IDataChannel>, this.calibrationChannelsListView, this.calibrationWaveformGraph, e.FileNumber, this.calibrationCycleNumberNumericUpDown); } } }