/// <summary>
        /// this is the function to be called instead of calling ShowDialog
        /// </summary>
        /// <param name="caller"></param>
        /// <returns></returns>
        public DialogResult ShowDialogAnimated(IWin32Window caller)
        {
            _correctCall = true;
            DialogResult ret = base.ShowDialog(caller);

            if (_closeBitmap != IntPtr.Zero)
            {
                WinUtil.DrawBmp(_closeBitmap, _rcEnd.Width, _rcEnd.Height, _rcEnd.X, _rcEnd.Y, _rcEnd.Width, _rcEnd.Height, _rcStart.X, _rcStart.Y, _rcStart.Width, _rcStart.Height, 10, 20, true);
            }
            return(ret);
        }