public void CopyFrom(TShortCutList source)
 {
     BaseClear();
     int count = source.Count;
     for (int i = 0; i < count; i++)
     {
         BaseAdd(source.BaseGetKey(i), source.BaseGet(i));
     }
 }
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (image is IDisposable)
                {
                    ((IDisposable)image).Dispose();
                    image = null;
                }
                if (mask is IDisposable)
                {
                    ((IDisposable)mask).Dispose();
                    mask = null;
                }
                if (secondaryShortCuts != null)
                {
                    secondaryShortCuts.Clear();
                    secondaryShortCuts = null;
                }
            }

            base.Dispose(disposing);
        }
 private void ResetVisibleSecondaryShortCuts()
 {
     secondaryShortCuts = null;
 }