是否可以在调整大小事件(用户控件)后执行特定操作,例如释放鼠标按钮时?我需要手动调整内部控件的大小,并且在事件的每次触发时执行它都会非常,嗯,低效......
答案 0 :(得分:13)
只需使用ResizeEnd
事件:
private void Form1_ResizeEnd(object sender, EventArgs e)
{
// Your code here
}
来自MSDN:
当ResizeEnd事件被引发时 用户完成调整表单的大小, 通常通过拖动其中一个 边框或定位夹具位于 表格的右下角, 然后释放它。更多 有关调整大小的信息 操作
答案 1 :(得分:2)
你可以伪造一个像这样的本地ResizeEnd:
public class Dummy:UserControl
{
private readonly Timer _tDelayedResize;
public Dummy()
{
this.Resize += this_Resize;
_tDelayedResize = new Timer();
_tDelayedResize.Interval = 5;
_tDelayedResize.Tick += this_ResizeEnd;
}
void this_Resize(object sender, EventArgs e)
{
_tDelayedResize.Stop();
_tDelayedResize.Start();
}
void this_ResizeEnd(object sender, EventArgs e)
{
_tDelayedResize.Stop();
//Do your ResizeEnd logic here
//...
}
}
可以修改间隔。它越高,最后一次调整大小事件后的延迟就越多。
答案 2 :(得分:0)
也许您可以使用SizeChanged事件。但我不知道在调整大小期间调用它的频率或时间。