private void AssignComponents(StarsControl game, GamePainter gamePainter, Rectangle rcClient)
        {
            lock (_lock)
            {
                _game?.Dispose();
                _game        = game;
                _gamePainter = gamePainter;

                _DrawingBuffer?.Dispose();
                _DrawingBuffer = CreateDrawing1(rcClient);
            }
        }
        private void AssignComponents(IController game, IPainter painter, Rectangle rcClient)
        {
            lock (_lock)
            {
                if (_game is IDisposable d)
                {
                    d.Dispose();
                }
                if (_painter is IDisposable d2)
                {
                    d2.Dispose();
                }
                _game    = game;
                _painter = painter;

                _DrawingBuffer?.Dispose();
                _DrawingBuffer = CreateDrawing1(rcClient);
            }
        }