Пример #1
0
        protected override void OnHandleCreated(EventArgs e)
        {
            base.OnHandleCreated(e);

            if (_designMode || _client != null)
            {
                return;
            }

            _client = CreateWindow();

            if (_client == null)
            {
                throw new InvalidOperationException("CreateWindow did not create a client");
            }

            _sponsor.Register((MarshalByRefObject)_client);
            _client.SetHost(this);

            SetChildHwnd(_client.Handle);

            OnWindowCreated(EventArgs.Empty);

            SetBoundsCore(0, 0, Width, Height, BoundsSpecified.Size);
        }
Пример #2
0
        protected override void OnHandleDestroyed(EventArgs e)
        {
            base.OnHandleDestroyed(e);

            if (_client != null)
            {
                _sponsor.Unregister();

                _client.Dispose();
                _client = null;
            }
        }