winform中的Form.Resize事件总是比Form.Control.Resize事件后触发,有什么办法让Form.Resize事件先触发呢?

来源:百度知道 编辑:UC知道 时间:2024/05/14 12:10:26
winform中的Form.Resize事件总是比Form.Control.Resize事件后触发,有什么办法让Form.Resize事件先触发呢?

就是先执行Form.Resize事件的添加,
后执行Form.Control.Resize事件,
但还是先触发Form.Control.Resize事件.

举个例子:(该方法比较笨,不过可以解决问题)
假设窗体上添加一个panel控件,首先设置一个布尔变量用来判断触发的事件。
private bool resize = true; //设置变量
private void Form1_Resize(object sender, EventArgs e)
{
if (resize == true)
{
MessageBox.Show("1");
resize = false;
panel1_Resize(null, null);
}
}

private void panel1_Resize(object sender, EventArgs e)
{
if (resize == false)
{
MessageBox.Show("3");
resize = true;
Form1_Resize(null, null);
}
}

我建议你重写个别的比Form.Control.Resize事件早的事件