dotnet/winforms

Don't force creation of `Handle` in `OnHandleCreated`

Open

#2,235 opened on Oct 29, 2019

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C# (922 forks)batch import
:beetle: bughelp wantedwaiting-on-team

Repository metrics

Stars
 (4,100 stars)
PR merge metrics
 (Avg merge 14d 22h) (56 merged PRs in 30d)

Description

See https://github.com/dotnet/winforms/pull/2141

The base class Control.OnHandleCreated checks for IsHandleCreated and does nothing if the handle isn't created.

In other sub-classes, we do not check if (IsHandleCreated) before accessing this.Handle which forces creation. This leads to strange recursive behaviour as OnHandleCreated is called again.

My opinion is that we should fix this oversight in base classes to ensure that they don't create the Handle in OnHandleCreated if a Handle doesn't exist

Contributor guide