/// <summary>
 /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
 /// </summary>
 public sealed override void Dispose()
 {
     if (this.PivotChart != null)
     {
         PivotChart.Loaded -= PivotChart_Loaded;
         PivotChart.Dispose();
     }
     this.PivotChart = null;
     if (olapDataManager != null)
     {
         olapDataManager.OlapDataChanged       -= OlapDataManager_OlapDataChanged;
         olapDataManager.GetCubeSchema         -= OlapDataManager_GetCubeSchema;
         olapDataManager.GetCubeInfoCollection -= OlapDataManager_GetCubeInfoCollection;
         olapDataManager.Dispose();
     }
     olapDataManager = null;
     if (this.cmb_Orientation != null)
     {
         this.cmb_Orientation.SelectionChanged -= cmb_Orientation_SelectionChanged;
     }
     this.cmb_Orientation  = null;
     this.cmb_TextOverflow = null;
     if (this.txt_ColumnCount != null)
     {
         this.txt_ColumnCount.KeyDown -= this.Txt_Count_OnKeyDown;
     }
     this.txt_ColumnCount = null;
     if (this.txt_RowCount != null)
     {
         this.txt_RowCount.KeyDown -= this.Txt_Count_OnKeyDown;
     }
     this.clientChannel = null;
 }