protected virtual void OnReadFinished(object sender, EventArgs e) { delegateSetDataSource stds = new delegateSetDataSource(dgvData_SetDataSource); delegateSetReadTimeValue srtv = new delegateSetReadTimeValue(SetReadTimeValue); if (InvokeRequired) { Invoke(stds, new object[] { Meter.Records }); Invoke(srtv, new object[] { Meter.ReadTime }); }//if else { stds(Meter.Records); srtv(Meter.ReadTime); }//else Meter.Close(); }