protected override void Dispose(bool disposing)
        {
            if (TextColor != null)
            {
                TextColor.Dispose();
                TextColor = null;
            }

            if (HighlightColor != null)
            {
                HighlightColor.Dispose();
                HighlightColor = null;
            }

            if (ButtonTintColor != null)
            {
                ButtonTintColor.Dispose();
                ButtonTintColor = null;
            }

            if (_HighlightLayer != null)
            {
                _HighlightLayer.RemoveFromSuperLayer();
                _HighlightLayer.Dispose();
            }

            if (Font != null)
            {
                Font.Dispose();
            }

            base.Dispose(disposing);
        }