重复我的问题:
请考虑以下事实:
Resize += new EventHandler(AutoResize);
private void UserControl2_Resize(object sender, EventArgs e)
{
MessageBox.Show($"{Width}:{Height}");
}
改变时,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
事件,因为仍未创建控件。