void DisposeRealTimeSource()
 {
     if (realTimeSource != null)
     {
         realTimeSource.DataSource = null;
         realTimeSource.Dispose();
     }
     realTimeSource = null;
 }
        private void BasicDXView_Disposed(object sender, EventArgs e)
        {
            updaterThread.Stop();
            if (starterThread != null)
            {
                starterThread.Join();
            }
            backgroundTimer.Dispose();

            if (realTimeSource != null)
            {
                realTimeSource.DataSource = null;
                realTimeSource.Dispose();
            }
        }