Примите во внимание следующие факты:
- Событие
Rezize
UserControl
произойдет при изменении Size
. - Событие
Load
UserControl
произойдет, когда будет создан дескриптор элемента управления. Когда вы опустите элемент управления в форме, для элемента управления будет создан следующий код:
//
// userControl11
//
this.userControl11.Location = new System.Drawing.Point(0, 0);
this.userControl11.Name = "userControl11";
this.userControl11.Size = new System.Drawing.Size(150, 150);
this.userControl11.TabIndex = 0;
В этой строке this.userControl11.Size = new System.Drawing.Size(150, 150);
Событие Load
не было вызвано, но конструктор выполнен.
Учитывая факты, когда вы подписываетесь на Resize
событие в конструкторе, тогда this.userControl11.Size = ...
вызовет событие Resize
, и событие будет обработано вашим обработчиком события.
Но когда вы подписываетесь на Resize
в событии Load
элемента управления, это начальное изменение размера не будет обработано вашим обработчиком событий, потому что вы все еще не подписались на событие Resize
, потому чтоэлемент управления еще не создан.