下面的代码可以与我尝试过的所有其他控件一起正常使用,但是如果我在面板上进行尝试,则仅当窗体的高度或宽度增加时,该事件才会激活。面板不会缩小它的尺寸,只会放大它。
我正在按照教授的要求使用Visual Studio 2012。该代码可用于组框,但是我需要使用面板,您能帮我吗?
private void Program_SizeChanged(object sender, EventArgs e)
{
controlName.Size = new Size(this.Width - 35, this.Height - 75);
}
先谢谢您
答案 0 :(得分:0)
尺寸已更改
调整控件大小时发生Resize事件,而Size属性发生变化时发生SizeChanged事件。
您可以使用其中任何一个,因为调整大小将导致Size属性更改。但是,您应该使用Layout事件,如Resize和SizeChanged事件的文档所述。
SizeChanged事件由OnSizeChanged()引发。反过来,此函数仅由UpdateBounds()调用,它由多种机制调用,主要包括对WM_MOVE和WM_WINDOWPOSCHANGED消息的处理。
还是从源头开始,仅当UpdateBounds()确定旧大小与新大小之间存在差异时,才调用OnSizeChanged()。因此,SizeChanged事件与Size属性的更改相对应。